[PATCH v2 08/58] qdev: Convert to qdev_unrealize() manually

Markus Armbruster posted 58 patches 5 years, 8 months ago
There is a newer version of this series
[PATCH v2 08/58] qdev: Convert to qdev_unrealize() manually
Posted by Markus Armbruster 5 years, 8 months ago
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 include/hw/qdev-core.h | 1 -
 hw/core/qdev.c         | 4 ++--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index fba29308f7..be6f7c4736 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -328,7 +328,6 @@ void qdev_init_nofail(DeviceState *dev);
 bool qdev_realize(DeviceState *dev, BusState *bus, Error **errp);
 bool qdev_realize_and_unref(DeviceState *dev, BusState *bus, Error **errp);
 void qdev_unrealize(DeviceState *dev);
-
 void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
                                  int required_for_version);
 HotplugHandler *qdev_get_bus_hotplug_handler(DeviceState *dev);
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index b7355fbcd0..4768244f31 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -421,7 +421,7 @@ static void device_reset_child_foreach(Object *obj, ResettableChildCallback cb,
 void qdev_simple_device_unplug_cb(HotplugHandler *hotplug_dev,
                                   DeviceState *dev, Error **errp)
 {
-    object_property_set_bool(OBJECT(dev), false, "realized", &error_abort);
+    qdev_unrealize(dev);
 }
 
 /*
@@ -1183,7 +1183,7 @@ static void device_unparent(Object *obj)
     BusState *bus;
 
     if (dev->realized) {
-        object_property_set_bool(obj, false, "realized", &error_abort);
+        qdev_unrealize(dev);
     }
     while (dev->num_child_bus) {
         bus = QLIST_FIRST(&dev->child_bus);
-- 
2.21.3


Re: [PATCH v2 08/58] qdev: Convert to qdev_unrealize() manually
Posted by Philippe Mathieu-Daudé 5 years, 8 months ago
On 5/29/20 3:44 PM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  include/hw/qdev-core.h | 1 -
>  hw/core/qdev.c         | 4 ++--
>  2 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
> index fba29308f7..be6f7c4736 100644
> --- a/include/hw/qdev-core.h
> +++ b/include/hw/qdev-core.h
> @@ -328,7 +328,6 @@ void qdev_init_nofail(DeviceState *dev);
>  bool qdev_realize(DeviceState *dev, BusState *bus, Error **errp);
>  bool qdev_realize_and_unref(DeviceState *dev, BusState *bus, Error **errp);
>  void qdev_unrealize(DeviceState *dev);
> -
>  void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id,
>                                   int required_for_version);
>  HotplugHandler *qdev_get_bus_hotplug_handler(DeviceState *dev);
> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> index b7355fbcd0..4768244f31 100644
> --- a/hw/core/qdev.c
> +++ b/hw/core/qdev.c
> @@ -421,7 +421,7 @@ static void device_reset_child_foreach(Object *obj, ResettableChildCallback cb,
>  void qdev_simple_device_unplug_cb(HotplugHandler *hotplug_dev,
>                                    DeviceState *dev, Error **errp)
>  {
> -    object_property_set_bool(OBJECT(dev), false, "realized", &error_abort);
> +    qdev_unrealize(dev);
>  }
>  
>  /*
> @@ -1183,7 +1183,7 @@ static void device_unparent(Object *obj)
>      BusState *bus;
>  
>      if (dev->realized) {
> -        object_property_set_bool(obj, false, "realized", &error_abort);
> +        qdev_unrealize(dev);
>      }
>      while (dev->num_child_bus) {
>          bus = QLIST_FIRST(&dev->child_bus);
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>