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:
parent
492bcf8f71
commit
e98f8c3622
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user