On Fri, Sep 26, 2014 at 09:28:05AM +0000, Igor Mammedov wrote: > Changes since v1: > * added usb-uas test > * drop hotplug check in bus_add_child() > * make SCSI & USB bus as default HotplugHandler > * fixed dummy HBA hot(un)plug > * fixed hotunplug on s390x > * prevent hotplug of non hotpluggable devices
For pci, virtio, acpi bits: Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Which tree should this go in through? afaerber's? In that case, it might be a good idea to Cc him ... > -- > > Series unifies different hotplug mechanisms to a recent > hotplug-handler API and does shallow conversion of > devices that still use legacy qdev hotplug to it dropping > not used after that legacy hotplug path [29/30]. > It also relaces SCSI's own way to do hotplug/unplug with > hotplug-handler callbacks leaving it the only method > perform hotplug tasks. > And the last patch [30/30] allows to unplug of BUS-less > devices using hotplug-handler API. > > Converted devices are covered with new hotplug > unit-tests, except of: > s390x-*: I have no idea how or means to test it, but code > is close to virtio, so it's converted using > virtio template > pvscsi: is broken, so no means to test it > > Git tree for testing: > https://github.com/imammedo/qemu/commits/hp_ctrl_conversion_v2 > > > Igor Mammedov (36): > test: virtio-scsi: check if hot-plug/unplug works > test: virtio-serial: check if hot-plug/unplug works > test: libqos: add qpci_plug_device_test() and > qpci_unplug_acpi_device_test() > test: virtio-rng: check if hot-plug/unplug works > test: virtio-net: check if hot-plug/unplug works > test: virtio-blk: check if hot-plug/unplug works > test: usb: move uhci port test code to libqos/usb.c > test: usb: add port test to uhci unit test > test: usb: generic usb device hotplug > test: usb: usb-storage hotplug test > test: usb: usb-uas hotplug test > access BusState.allow_hotplug using wraper qbus_is_hotpluggable() > qdev: do not allow to instantiate non hotpluggable device with > device_add > qdev: HotplugHandler: rename unplug callback to unplug_request > qdev: HotplugHandler: provide unplug callback > qdev: add simple/generic unplug callback for HotplugHandler > qdev: add wrapper to set BUS as HotplugHandler > qdev: drop hotplug check from bus_add_child() > target-i386: ICC bus: drop BusState.allow_hotplug > virtio-pci: drop BusState.allow_hotplug > virtio-serial: convert to hotplug-handler API > virtio-mmio: drop useless bus->allow_hotplug = 0 > s390x: drop not used allow_hotplug in event-facility > s390x: convert s390-virtio to hotplug handler API > s390x: convert virtio-ccw to hotplug handler API > scsi: set SCSI BUS itself as default HotplugHandler > scsi: convert pvscsi HBA to hotplug handler API > scsi: convert virtio-scsi HBA to hotplug handler API > scsi: cleanup not used anymore SCSIBusInfo{hotplug,hot_unplug} fields > usb-bot: mark device as non hotpluggable > usb-bot: drop not needed "allow_hotplug = 0" > usb-storage: drop not needed "allow_hotplug = 0" > usb: convert usb-ccid to hotplug handler API > usb: convert usb devices to hotplug handler API > qdev: drop legacy hotplug fields/methods > qdev: HotplugHandler: add support for unplugging BUS-less devices > > hw/acpi/piix4.c | 6 +-- > hw/char/virtio-serial-bus.c | 20 +++++++--- > hw/core/hotplug.c | 11 ++++++ > hw/core/qdev.c | 85 > ++++++++++++++++++++++++++++-------------- > hw/cpu/icc_bus.c | 8 ---- > hw/i386/acpi-build.c | 2 +- > hw/isa/lpc_ich9.c | 6 +-- > hw/pci-bridge/pci_bridge_dev.c | 2 +- > hw/pci/pci-hotplug-old.c | 4 +- > hw/pci/pcie.c | 4 +- > hw/pci/pcie_port.c | 2 +- > hw/pci/shpc.c | 4 +- > hw/s390x/event-facility.c | 2 - > hw/s390x/s390-virtio-bus.c | 12 +++--- > hw/s390x/virtio-ccw.c | 17 +++++---- > hw/scsi/scsi-bus.c | 24 ++++-------- > hw/scsi/virtio-scsi.c | 30 ++++++++++----- > hw/scsi/vmw_pvscsi.c | 26 +++++++++---- > hw/usb/bus.c | 9 ++++- > hw/usb/dev-smartcard-reader.c | 8 +++- > hw/usb/dev-storage.c | 4 +- > hw/virtio/virtio-mmio.c | 17 +-------- > hw/virtio/virtio-pci.c | 3 -- > include/hw/hotplug.h | 16 +++++++- > include/hw/pci/pcie.h | 4 +- > include/hw/pci/shpc.h | 4 +- > include/hw/qdev-core.h | 17 +++++---- > include/hw/scsi/scsi.h | 2 - > qdev-monitor.c | 5 ++- > tests/Makefile | 13 ++++--- > tests/libqos/pci-pc.c | 49 ++++++++++++++++++++++++ > tests/libqos/pci.h | 3 ++ > tests/libqos/usb.c | 71 +++++++++++++++++++++++++++++++++++ > tests/libqos/usb.h | 17 +++++++++ > tests/usb-hcd-ehci-test.c | 50 ++++++++++--------------- > tests/usb-hcd-ohci-test.c | 10 ++++- > tests/usb-hcd-uhci-test.c | 65 +++++++++++++++++++++++++++++++- > tests/usb-hcd-xhci-test.c | 68 ++++++++++++++++++++++++++++++++- > tests/virtio-blk-test.c | 49 ++++++++++++++++++------ > tests/virtio-net-test.c | 10 +++++ > tests/virtio-rng-test.c | 10 +++++ > tests/virtio-scsi-test.c | 29 ++++++++++++++ > tests/virtio-serial-test.c | 27 ++++++++++++++ > 43 files changed, 624 insertions(+), 201 deletions(-) > create mode 100644 tests/libqos/usb.c > create mode 100644 tests/libqos/usb.h > > -- > 1.8.3.1