diff mbox

[v2,05/24] qdev: push "type" property up to Object

Message ID 1334179842-6061-5-git-send-email-pbonzini@redhat.com
State New
Headers show

Commit Message

Paolo Bonzini April 11, 2012, 9:30 p.m. UTC
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 <pbonzini@redhat.com>
---
 hw/qdev.c    |    6 ------
 qom/object.c |   11 +++++++++++
 2 files changed, 11 insertions(+), 6 deletions(-)

Comments

Andreas Färber April 12, 2012, 4:27 p.m. UTC | #1
Am 11.04.2012 23:30, schrieb Paolo Bonzini:
> 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 <pbonzini@redhat.com>

Reviewed-by: Andreas Färber <afaerber@suse.de>

Although I think Anthony already reviewed this in v1?

/-F
diff mbox

Patch

diff --git a/hw/qdev.c b/hw/qdev.c
index 0d3c0fc..bb6c1aa 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -510,11 +510,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
  */
@@ -630,7 +625,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 585619d..f3ffaa6 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1215,6 +1215,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 = {
@@ -1226,6 +1236,7 @@  static void register_types(void)
     static TypeInfo object_info = {
         .name = TYPE_OBJECT,
         .instance_size = sizeof(Object),
+        .instance_init = object_instance_init,
         .abstract = true,
     };