[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 06/58] qdev: Convert to qbus_realize(), qbus_unrealize()
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v2 06/58] qdev: Convert to qbus_realize(), qbus_unrealize() |
Date: |
Tue, 9 Jun 2020 10:13:47 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 5/29/20 3:44 PM, Markus Armbruster wrote:
> I'm going to convert device realization to qdev_realize() with the
> help of Coccinelle. Convert bus realization to qbus_realize() first,
> to get it out of Coccinelle's way. Readability improves.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> hw/core/qdev.c | 10 +++-------
> hw/pci/pci.c | 2 +-
> 2 files changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> index f2c5cee278..b7355fbcd0 100644
> --- a/hw/core/qdev.c
> +++ b/hw/core/qdev.c
> @@ -1024,9 +1024,7 @@ static void device_set_realized(Object *obj, bool
> value, Error **errp)
> resettable_state_clear(&dev->reset);
>
> QLIST_FOREACH(bus, &dev->child_bus, sibling) {
> - object_property_set_bool(OBJECT(bus), true, "realized",
> - &local_err);
> - if (local_err != NULL) {
> + if (!qbus_realize(bus, errp)) {
> goto child_realize_fail;
> }
> }
> @@ -1051,8 +1049,7 @@ static void device_set_realized(Object *obj, bool
> value, Error **errp)
>
> } else if (!value && dev->realized) {
> QLIST_FOREACH(bus, &dev->child_bus, sibling) {
> - object_property_set_bool(OBJECT(bus), false, "realized",
> - &error_abort);
> + qbus_unrealize(bus);
> }
> if (qdev_get_vmsd(dev)) {
> vmstate_unregister(VMSTATE_IF(dev), qdev_get_vmsd(dev), dev);
> @@ -1070,8 +1067,7 @@ static void device_set_realized(Object *obj, bool
> value, Error **errp)
>
> child_realize_fail:
> QLIST_FOREACH(bus, &dev->child_bus, sibling) {
> - object_property_set_bool(OBJECT(bus), false, "realized",
> - &error_abort);
> + qbus_unrealize(bus);
> }
>
> if (qdev_get_vmsd(dev)) {
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index 70c66965f5..6947c741c3 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -456,7 +456,7 @@ void pci_root_bus_cleanup(PCIBus *bus)
> {
> pci_bus_uninit(bus);
> /* the caller of the unplug hotplug handler will delete this device */
> - object_property_set_bool(OBJECT(bus), false, "realized", &error_abort);
> + qbus_unrealize(BUS(bus));
> }
>
> void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, pci_map_irq_fn
> map_irq,
>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v2 06/58] qdev: Convert to qbus_realize(), qbus_unrealize(),
Philippe Mathieu-Daudé <=