From 2f262e06f01a38cb8a218b7c5ad71233883a6b55 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 2 Apr 2012 17:33:51 +0200 Subject: [PATCH] qdev: Push "type" property up to Object MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now that Object is a type, add an instance_init function and push the "type" property from qdev to there. Signed-off-by: Paolo Bonzini Signed-off-by: Andreas Färber --- hw/qdev.c | 6 ------ qom/object.c | 11 +++++++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/hw/qdev.c b/hw/qdev.c index 6a8f6bda2b..a9a9f891da 100644 --- a/hw/qdev.c +++ b/hw/qdev.c @@ -515,11 +515,6 @@ char* qdev_get_fw_dev_path(DeviceState *dev) return strdup(path); } -static char *qdev_get_type(Object *obj, Error **errp) -{ - return g_strdup(object_get_typename(obj)); -} - /** * Legacy property handling */ @@ -638,7 +633,6 @@ static void device_initfn(Object *obj) qdev_property_add_static(dev, prop, NULL); } - object_property_add_str(OBJECT(dev), "type", qdev_get_type, NULL, NULL); qdev_prop_set_defaults(dev, qdev_get_props(dev)); } diff --git a/qom/object.c b/qom/object.c index cec2d406b8..d5c6ff7471 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1231,6 +1231,16 @@ void object_property_add_str(Object *obj, const char *name, prop, errp); } +static char *qdev_get_type(Object *obj, Error **errp) +{ + return g_strdup(object_get_typename(obj)); +} + +static void object_instance_init(Object *obj) +{ + object_property_add_str(obj, "type", qdev_get_type, NULL, NULL); +} + static void register_types(void) { static TypeInfo interface_info = { @@ -1242,6 +1252,7 @@ static void register_types(void) static TypeInfo object_info = { .name = TYPE_OBJECT, .instance_size = sizeof(Object), + .instance_init = object_instance_init, .abstract = true, };