This series implements support for hotplug handler chaining (proposed by Igor), something that is necessary to turn selected virtio devices into memory devices. Planned devices inlude virtio-mem and virtio-pmem.
The machine hotplug handler can intercept hotplug handler calls to properly prepare/teardown the memory device part of a device. Control is then passed on to the actual bus hotplug handler. So the default hotplug handler is effectively overwritten to make interception possible. This series was tested against [PATCH v3 0/6] tests: Add device unplug tests RFCv2 -> v1: - "qdev: Let the hotplug_handler_unplug() caller delete the device" -- Fixed two spapr delete_device() calls I missed. Covered by tests now :) -- Handle + add a comment for host pci bridge unplug, for which we have code but no user yet. - virtio-pmem prototype will be handled from this point by Pankaj again, so no longer included David Hildenbrand (2): qdev: Let the hotplug_handler_unplug() caller delete the device qdev: Provide qdev_get_bus_hotplug_handler() Igor Mammedov (1): qdev: Let machine hotplug handler to override bus hotplug handler hw/acpi/cpu.c | 1 + hw/acpi/memory_hotplug.c | 1 + hw/acpi/pcihp.c | 3 ++- hw/core/qdev.c | 19 ++++++++++++------- hw/i386/pc.c | 5 ++--- hw/pci/pci.c | 3 ++- hw/pci/pcie.c | 3 ++- hw/pci/shpc.c | 3 ++- hw/ppc/spapr.c | 6 ++++-- hw/ppc/spapr_pci.c | 3 ++- hw/s390x/css-bridge.c | 2 +- hw/s390x/s390-pci-bus.c | 13 ++++++++----- include/hw/qdev-core.h | 12 ++++++++++++ qdev-monitor.c | 9 +++++++-- 14 files changed, 58 insertions(+), 25 deletions(-) -- 2.17.2