[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 06/58] qdev: Convert to qbus_realize(), qbus_unrealize()
From: |
Markus Armbruster |
Subject: |
[PATCH v2 06/58] qdev: Convert to qbus_realize(), qbus_unrealize() |
Date: |
Fri, 29 May 2020 15:44:31 +0200 |
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,
--
2.21.3
- [PATCH v2 00/58] qdev: Rework how we plug into the parent bus, Markus Armbruster, 2020/05/29
- [PATCH v2 01/58] qdev: Rename qbus_realize() to qbus_init(), Markus Armbruster, 2020/05/29
- [PATCH v2 05/58] qdev: Put qdev_new() to use with Coccinelle, Markus Armbruster, 2020/05/29
- [PATCH v2 18/58] isa: New isa_new(), isa_realize_and_unref() etc., Markus Armbruster, 2020/05/29
- [PATCH v2 06/58] qdev: Convert to qbus_realize(), qbus_unrealize(),
Markus Armbruster <=
- [PATCH v2 02/58] Revert "hw/prep: realize the PCI root bus as part of the prep init", Markus Armbruster, 2020/05/29
- [PATCH v2 10/58] qdev: Convert uses of qdev_create() manually, Markus Armbruster, 2020/05/29
- [PATCH v2 08/58] qdev: Convert to qdev_unrealize() manually, Markus Armbruster, 2020/05/29
- [PATCH v2 07/58] qdev: Convert to qdev_unrealize() with Coccinelle, Markus Armbruster, 2020/05/29
- [PATCH v2 03/58] Revert "hw/versatile: realize the PCI root bus as part of the versatile init", Markus Armbruster, 2020/05/29
- [PATCH v2 25/58] ssi: ssi_create_slave_no_init() is now unused, drop, Markus Armbruster, 2020/05/29
- [PATCH v2 14/58] hw/ppc: Eliminate two superfluous QOM casts, Markus Armbruster, 2020/05/29
- [PATCH v2 30/58] qdev: qdev_create(), qdev_try_create() are now unused, drop, Markus Armbruster, 2020/05/29
- [PATCH v2 12/58] qdev: Convert uses of qdev_set_parent_bus() manually, Markus Armbruster, 2020/05/29
- [PATCH v2 19/58] isa: Convert uses of isa_create() with Coccinelle, Markus Armbruster, 2020/05/29