diff mbox series

[RFC,07/17] convert qdev/bus_reset_all to Resettable

Message ID 126d324367f189b2f08df15ee1ff13add61add8a.1553510737.git.damien.hedde@greensocs.com
State New
Headers show
Series None | expand

Commit Message

Damien Hedde March 25, 2019, 11:01 a.m. UTC
Change qdev/bus_reset_all implementation. It now triggers a warm reset
using the Resettable interface.

Signed-off-by: Damien Hedde <damien.hedde@greensocs.com>
---
 hw/core/qdev.c | 20 ++------------------
 1 file changed, 2 insertions(+), 18 deletions(-)
diff mbox series

Patch

diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 8dae26d957..7adf234474 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -320,25 +320,9 @@  static void device_reset_exit_phase(Object *obj)
     }
 }
 
-static int qdev_reset_one(DeviceState *dev, void *opaque)
-{
-    device_reset(dev);
-
-    return 0;
-}
-
-static int qbus_reset_one(BusState *bus, void *opaque)
-{
-    BusClass *bc = BUS_GET_CLASS(bus);
-    if (bc->reset) {
-        bc->reset(bus);
-    }
-    return 0;
-}
-
 void qdev_reset_all(DeviceState *dev)
 {
-    qdev_walk_children(dev, NULL, NULL, qdev_reset_one, qbus_reset_one, NULL);
+    qdev_reset(dev, false);
 }
 
 void qdev_reset_all_fn(void *opaque)
@@ -348,7 +332,7 @@  void qdev_reset_all_fn(void *opaque)
 
 void qbus_reset_all(BusState *bus)
 {
-    qbus_walk_children(bus, NULL, NULL, qdev_reset_one, qbus_reset_one, NULL);
+    qbus_reset(bus, false);
 }
 
 void qbus_reset_all_fn(void *opaque)