From: Paolo Bonzini Date: Mon, 2 Apr 2012 15:33:51 +0000 (+0200) Subject: qdev: Push "type" property up to Object X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~1405^2~17^2~354^2~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2f262e06f01a38cb8a218b7c5ad71233883a6b55;p=sdk%2Femulator%2Fqemu.git qdev: Push "type" property up to Object 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 --- 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, };