s390x: Convert s390-virtio to hotplug handler API

Beside of conversion, patch drops present unplug
handling, effectively disabling hot-unplug of
s390-virtio devices.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
Igor Mammedov 2014-09-26 12:37:30 +00:00 committed by Andreas Färber
parent 492bcf8f71
commit e98f8c3622

View File

@ -102,7 +102,7 @@ VirtIOS390Bus *s390_virtio_bus_init(ram_addr_t *ram_size)
bus->next_ring = bus->dev_page + TARGET_PAGE_SIZE; bus->next_ring = bus->dev_page + TARGET_PAGE_SIZE;
/* Enable hotplugging */ /* Enable hotplugging */
_bus->allow_hotplug = 1; qbus_set_hotplug_handler(_bus, dev, &error_abort);
/* Allocate RAM for VirtIO device pages (descriptors, queues, rings) */ /* Allocate RAM for VirtIO device pages (descriptors, queues, rings) */
*ram_size += S390_DEVICE_PAGES * TARGET_PAGE_SIZE; *ram_size += S390_DEVICE_PAGES * TARGET_PAGE_SIZE;
@ -600,7 +600,6 @@ static void virtio_s390_device_class_init(ObjectClass *klass, void *data)
dc->init = s390_virtio_busdev_init; dc->init = s390_virtio_busdev_init;
dc->bus_type = TYPE_S390_VIRTIO_BUS; dc->bus_type = TYPE_S390_VIRTIO_BUS;
dc->unplug = qdev_simple_unplug_cb;
dc->reset = s390_virtio_busdev_reset; dc->reset = s390_virtio_busdev_reset;
} }
@ -681,6 +680,10 @@ static const TypeInfo s390_virtio_bridge_info = {
.parent = TYPE_SYS_BUS_DEVICE, .parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(SysBusDevice), .instance_size = sizeof(SysBusDevice),
.class_init = s390_virtio_bridge_class_init, .class_init = s390_virtio_bridge_class_init,
.interfaces = (InterfaceInfo[]) {
{ TYPE_HOTPLUG_HANDLER },
{ }
}
}; };
/* virtio-s390-bus */ /* virtio-s390-bus */
@ -689,13 +692,10 @@ static void virtio_s390_bus_new(VirtioBusState *bus, size_t bus_size,
VirtIOS390Device *dev) VirtIOS390Device *dev)
{ {
DeviceState *qdev = DEVICE(dev); DeviceState *qdev = DEVICE(dev);
BusState *qbus;
char virtio_bus_name[] = "virtio-bus"; char virtio_bus_name[] = "virtio-bus";
qbus_create_inplace(bus, bus_size, TYPE_VIRTIO_S390_BUS, qbus_create_inplace(bus, bus_size, TYPE_VIRTIO_S390_BUS,
qdev, virtio_bus_name); qdev, virtio_bus_name);
qbus = BUS(bus);
qbus->allow_hotplug = 1;
} }
static void virtio_s390_bus_class_init(ObjectClass *klass, void *data) static void virtio_s390_bus_class_init(ObjectClass *klass, void *data)