[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 30/47] s390x: Convert virtio-ccw to hotplug handler A
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 30/47] s390x: Convert virtio-ccw to hotplug handler API |
Date: |
Wed, 15 Oct 2014 05:09:04 +0200 |
From: Igor Mammedov <address@hidden>
Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
hw/s390x/virtio-ccw.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index 18ba29f..4438b6f 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -230,7 +230,7 @@ VirtualCssBus *virtual_css_bus_init(void)
cbus = VIRTUAL_CSS_BUS(bus);
/* Enable hotplugging */
- bus->allow_hotplug = 1;
+ qbus_set_hotplug_handler(bus, dev, &error_abort);
return cbus;
}
@@ -1590,7 +1590,8 @@ static int virtio_ccw_busdev_exit(DeviceState *dev)
return _info->exit(_dev);
}
-static int virtio_ccw_busdev_unplug(DeviceState *dev)
+static void virtio_ccw_busdev_unplug(HotplugHandler *hotplug_dev,
+ DeviceState *dev, Error **errp)
{
VirtioCcwDevice *_dev = (VirtioCcwDevice *)dev;
SubchDev *sch = _dev->sch;
@@ -1609,7 +1610,6 @@ static int virtio_ccw_busdev_unplug(DeviceState *dev)
css_generate_sch_crws(sch->cssid, sch->ssid, sch->schid, 1, 0);
object_unparent(OBJECT(dev));
- return 0;
}
static Property virtio_ccw_properties[] = {
@@ -1624,9 +1624,7 @@ static void virtio_ccw_device_class_init(ObjectClass
*klass, void *data)
dc->props = virtio_ccw_properties;
dc->init = virtio_ccw_busdev_init;
dc->exit = virtio_ccw_busdev_exit;
- dc->unplug = virtio_ccw_busdev_unplug;
dc->bus_type = TYPE_VIRTUAL_CSS_BUS;
-
}
static const TypeInfo virtio_ccw_device_info = {
@@ -1650,8 +1648,10 @@ static int virtual_css_bridge_init(SysBusDevice *dev)
static void virtual_css_bridge_class_init(ObjectClass *klass, void *data)
{
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
+ HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(klass);
k->init = virtual_css_bridge_init;
+ hc->unplug = virtio_ccw_busdev_unplug;
}
static const TypeInfo virtual_css_bridge_info = {
@@ -1659,6 +1659,10 @@ static const TypeInfo virtual_css_bridge_info = {
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(SysBusDevice),
.class_init = virtual_css_bridge_class_init,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_HOTPLUG_HANDLER },
+ { }
+ }
};
/* virtio-ccw-bus */
@@ -1667,13 +1671,10 @@ static void virtio_ccw_bus_new(VirtioBusState *bus,
size_t bus_size,
VirtioCcwDevice *dev)
{
DeviceState *qdev = DEVICE(dev);
- BusState *qbus;
char virtio_bus_name[] = "virtio-bus";
qbus_create_inplace(bus, bus_size, TYPE_VIRTIO_CCW_BUS,
qdev, virtio_bus_name);
- qbus = BUS(bus);
- qbus->allow_hotplug = 1;
}
static void virtio_ccw_bus_class_init(ObjectClass *klass, void *data)
--
1.8.4.5
- [Qemu-devel] [PULL 21/47] qdev: Add simple/generic unplug callback for HotplugHandler, (continued)
- [Qemu-devel] [PULL 21/47] qdev: Add simple/generic unplug callback for HotplugHandler, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 17/47] Access BusState::allow_hotplug using wraper qbus_is_hotpluggable(), Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 18/47] qdev: do not allow to instantiate non hotpluggable device with device_add, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 23/47] qdev: Drop hotplug check from bus_add_child(), Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 22/47] qdev: Add wrapper to set BUS as HotplugHandler, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 24/47] target-i386: ICC bus: Drop BusState::allow_hotplug, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 25/47] virtio-pci: Drop BusState::allow_hotplug, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 27/47] virtio-mmio: Drop useless bus->allow_hotplug = 0, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 29/47] s390x: Convert s390-virtio to hotplug handler API, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 31/47] scsi: Set SCSI BUS itself as default HotplugHandler, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 30/47] s390x: Convert virtio-ccw to hotplug handler API,
Andreas Färber <=
- [Qemu-devel] [PULL 34/47] scsi: Cleanup not used anymore SCSIBusInfo{hotplug, hot_unplug} fields, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 32/47] scsi: Convert pvscsi HBA to hotplug handler API, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 28/47] s390x: Drop not used allow_hotplug in event-facility, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 26/47] virtio-serial: Convert to hotplug-handler API, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 33/47] scsi: Convert virtio-scsi HBA to hotplug handler API, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 36/47] usb-bot: Drop not needed "allow_hotplug = 0", Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 37/47] usb-storage: Drop not needed "allow_hotplug = 0", Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 43/47] qdev: Add description field in PropertyInfo struct, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 38/47] usb: Convert usb-ccid to hotplug handler API, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 35/47] usb-bot: Mark device as non hotpluggable, Andreas Färber, 2014/10/14