qom: Add TYPE_CONTAINER macro

Provide a macro for the container type across QEMU source tree, rather than
hard code it every time.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-ID: <20241121192202.4155849-2-peterx@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
Peter Xu 2024-11-21 14:21:50 -05:00 committed by Philippe Mathieu-Daudé
parent 678bf8f22a
commit e469b331cd
4 changed files with 6 additions and 5 deletions

View file

@ -1053,7 +1053,7 @@ static void stellaris_init(MachineState *ms, stellaris_board_info *board)
flash_size = (((board->dc0 & 0xffff) + 1) << 1) * 1024; flash_size = (((board->dc0 & 0xffff) + 1) << 1) * 1024;
sram_size = ((board->dc0 >> 18) + 1) * 1024; sram_size = ((board->dc0 >> 18) + 1) * 1024;
soc_container = object_new("container"); soc_container = object_new(TYPE_CONTAINER);
object_property_add_child(OBJECT(ms), "soc", soc_container); object_property_add_child(OBJECT(ms), "soc", soc_container);
/* Flash programming is done via the SCU, so pretend it is ROM. */ /* Flash programming is done via the SCU, so pretend it is ROM. */

View file

@ -26,6 +26,7 @@ typedef struct InterfaceClass InterfaceClass;
typedef struct InterfaceInfo InterfaceInfo; typedef struct InterfaceInfo InterfaceInfo;
#define TYPE_OBJECT "object" #define TYPE_OBJECT "object"
#define TYPE_CONTAINER "container"
typedef struct ObjectProperty ObjectProperty; typedef struct ObjectProperty ObjectProperty;

View file

@ -15,7 +15,7 @@
#include "qemu/module.h" #include "qemu/module.h"
static const TypeInfo container_info = { static const TypeInfo container_info = {
.name = "container", .name = TYPE_CONTAINER,
.parent = TYPE_OBJECT, .parent = TYPE_OBJECT,
}; };
@ -37,7 +37,7 @@ Object *container_get(Object *root, const char *path)
for (i = 1; parts[i] != NULL; i++, obj = child) { for (i = 1; parts[i] != NULL; i++, obj = child) {
child = object_resolve_path_component(obj, parts[i]); child = object_resolve_path_component(obj, parts[i]);
if (!child) { if (!child) {
child = object_new("container"); child = object_new(TYPE_CONTAINER);
object_property_add_child(obj, parts[i], child); object_property_add_child(obj, parts[i], child);
object_unref(child); object_unref(child);
} }

View file

@ -1734,7 +1734,7 @@ Object *object_get_root(void)
static Object *root; static Object *root;
if (!root) { if (!root) {
root = object_new("container"); root = object_new(TYPE_CONTAINER);
} }
return root; return root;
@ -1750,7 +1750,7 @@ Object *object_get_internal_root(void)
static Object *internal_root; static Object *internal_root;
if (!internal_root) { if (!internal_root) {
internal_root = object_new("container"); internal_root = object_new(TYPE_CONTAINER);
} }
return internal_root; return internal_root;