Move setting DeviceClass.hotpluggable default from
class_base_init() to device's own class_init().

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

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)
-- 
1.7.1


Reply via email to