usb-bot: hotplug support
This patch marks usb-bot as hot-pluggable device, makes attached property settable and turns off auto-attach in case the device was hotplugged. Hot-plugging a usb-bot device with one or more scsi devices can be done this way now: (1) device-add usb-bot,id=foo (2) device-add scsi-{hd,cd},bus=foo.0,lun=0 (2b) optionally add more devices (luns 0 ... 15). (3) qom-set foo.attached = true Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-id: 1465984019-28963-5-git-send-email-kraxel@redhat.com
This commit is contained in:
parent
1e351dc373
commit
b78ecd0998
@ -634,9 +634,14 @@ static void usb_msd_realize_storage(USBDevice *dev, Error **errp)
|
||||
static void usb_msd_realize_bot(USBDevice *dev, Error **errp)
|
||||
{
|
||||
MSDState *s = USB_STORAGE_DEV(dev);
|
||||
DeviceState *d = DEVICE(dev);
|
||||
|
||||
usb_desc_create_serial(dev);
|
||||
usb_desc_init(dev);
|
||||
if (d->hotplugged) {
|
||||
s->dev.auto_attach = 0;
|
||||
}
|
||||
|
||||
scsi_bus_new(&s->bus, sizeof(s->bus), DEVICE(dev),
|
||||
&usb_msd_scsi_info_bot, NULL);
|
||||
usb_msd_handle_reset(dev);
|
||||
@ -806,10 +811,9 @@ static void usb_msd_instance_init(Object *obj)
|
||||
static void usb_msd_class_initfn_bot(ObjectClass *klass, void *data)
|
||||
{
|
||||
USBDeviceClass *uc = USB_DEVICE_CLASS(klass);
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
uc->realize = usb_msd_realize_bot;
|
||||
dc->hotpluggable = false;
|
||||
uc->attached_settable = true;
|
||||
}
|
||||
|
||||
static const TypeInfo msd_info = {
|
||||
|
Loading…
Reference in New Issue
Block a user