diff mbox

qdev: set DeviceClass.hotpluggable default in class_init()

Message ID 1392742613-15434-1-git-send-email-imammedo@redhat.com
State New
Headers show

Commit Message

Igor Mammedov Feb. 18, 2014, 4:56 p.m. UTC
Move setting DeviceClass.hotpluggable default from
class_base_init() to device's own class_init().

Reported-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
---
 hw/core/qdev.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

Comments

Andreas Färber Feb. 18, 2014, 6:15 p.m. UTC | #1
Am 18.02.2014 17:56, schrieb Igor Mammedov:
> Move setting DeviceClass.hotpluggable default from
> class_base_init() to device's own class_init().
> 
> Reported-by: Andreas Färber <afaerber@suse.de>
> Signed-off-by: Igor Mammedov <imammedo@redhat.com>

Thanks, applied to qom-next:
https://github.com/afaerber/qemu-cpu/commits/qom-next

Andreas
diff mbox

Patch

diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 64b66e0..dcf331c 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -816,14 +816,6 @@  static void device_class_base_init(ObjectClass *class, void *data)
      * so do not propagate them to the subclasses.
      */
     klass->props = NULL;
-
-    /* by default all devices were considered as hotpluggable,
-     * so with intent to check it in generic qdev_unplug() /
-     * device_set_realized() functions make every device
-     * hotpluggable. Devices that shouldn't be hotpluggable,
-     * should override it in their class_init()
-     */
-    klass->hotpluggable = true;
 }
 
 static void device_unparent(Object *obj)
@@ -869,6 +861,14 @@  static void device_class_init(ObjectClass *class, void *data)
     class->unparent = device_unparent;
     dc->realize = device_realize;
     dc->unrealize = device_unrealize;
+
+    /* by default all devices were considered as hotpluggable,
+     * so with intent to check it in generic qdev_unplug() /
+     * device_set_realized() functions make every device
+     * hotpluggable. Devices that shouldn't be hotpluggable,
+     * should override it in their class_init()
+     */
+    dc->hotpluggable = true;
 }
 
 void device_reset(DeviceState *dev)