This patchset switches the handful of bus types that implement a reset method over to using the 3-phase-reset APIs, and then removes the transitional infrastructure from the core bus class that was supporting the ability to have bus types that use old-style reset.
I wrote this ages ago and recently picked it back up because of a recent PCI related reset ordering problem noted by Peter Xu. I'm not sure if this patchset is necessary as a part of fixing that ordering problem (it might even be possible now to have the intel_iommu device use 3-phase reset and put the relevant parts of its reset into the 'exit' phase), but either way we really ought to do this cleanup to reduce the amount of legacy/transitional handling we have. In theory this patchset should be fine and shouldn't be changing behaviour. On the other hand the reason I never sent it out when I originally wrote it was that I ran into a test failure in the BootLinuxConsole.test_sh4_r2d avocado test. Rerunning all the avocado tests I don't see that failing now, so maybe I was just confused by a flaky test back then. In any case, this could probably use a thorough soak testing with workloads that do resets of the PCI bus; I've only done 'make check' and 'make check-avocado' on it. But I wanted to get it out onto the list anyway. thanks -- PMM Peter Maydell (5): pci: Switch bus reset to 3-phase-reset vmbus: Switch bus reset to 3-phase-reset adb: Switch bus reset to 3-phase-reset hw/s390x/css-bridge: switch virtual-css bus to 3-phase-reset hw/core: Remove transitional infrastructure from BusClass include/hw/qdev-core.h | 2 -- hw/core/bus.c | 67 ------------------------------------------ hw/hyperv/vmbus.c | 7 +++-- hw/input/adb.c | 7 +++-- hw/pci/pci.c | 10 ++++--- hw/s390x/css-bridge.c | 5 ++-- 6 files changed, 17 insertions(+), 81 deletions(-) -- 2.34.1