|
@@ -551,17 +551,6 @@ static const struct SCSIBusInfo usb_msd_scsi_info_storage = {
|
|
.load_request = usb_msd_load_request,
|
|
.load_request = usb_msd_load_request,
|
|
};
|
|
};
|
|
|
|
|
|
-static const struct SCSIBusInfo usb_msd_scsi_info_bot = {
|
|
|
|
- .tcq = false,
|
|
|
|
- .max_target = 0,
|
|
|
|
- .max_lun = 15,
|
|
|
|
-
|
|
|
|
- .transfer_data = usb_msd_transfer_data,
|
|
|
|
- .complete = usb_msd_command_complete,
|
|
|
|
- .cancel = usb_msd_request_cancelled,
|
|
|
|
- .load_request = usb_msd_load_request,
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
static void usb_msd_storage_realize(USBDevice *dev, Error **errp)
|
|
static void usb_msd_storage_realize(USBDevice *dev, Error **errp)
|
|
{
|
|
{
|
|
MSDState *s = USB_STORAGE_DEV(dev);
|
|
MSDState *s = USB_STORAGE_DEV(dev);
|
|
@@ -613,22 +602,6 @@ static void usb_msd_storage_realize(USBDevice *dev, Error **errp)
|
|
s->scsi_dev = scsi_dev;
|
|
s->scsi_dev = scsi_dev;
|
|
}
|
|
}
|
|
|
|
|
|
-static void usb_msd_bot_realize(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);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static const VMStateDescription vmstate_usb_msd = {
|
|
static const VMStateDescription vmstate_usb_msd = {
|
|
.name = "usb-storage",
|
|
.name = "usb-storage",
|
|
.version_id = 1,
|
|
.version_id = 1,
|
|
@@ -734,14 +707,6 @@ static void usb_msd_instance_init(Object *obj)
|
|
object_property_set_int(obj, "bootindex", -1, NULL);
|
|
object_property_set_int(obj, "bootindex", -1, NULL);
|
|
}
|
|
}
|
|
|
|
|
|
-static void usb_msd_class_bot_initfn(ObjectClass *klass, void *data)
|
|
|
|
-{
|
|
|
|
- USBDeviceClass *uc = USB_DEVICE_CLASS(klass);
|
|
|
|
-
|
|
|
|
- uc->realize = usb_msd_bot_realize;
|
|
|
|
- uc->attached_settable = true;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static const TypeInfo msd_info = {
|
|
static const TypeInfo msd_info = {
|
|
.name = "usb-storage",
|
|
.name = "usb-storage",
|
|
.parent = TYPE_USB_STORAGE,
|
|
.parent = TYPE_USB_STORAGE,
|
|
@@ -749,17 +714,10 @@ static const TypeInfo msd_info = {
|
|
.instance_init = usb_msd_instance_init,
|
|
.instance_init = usb_msd_instance_init,
|
|
};
|
|
};
|
|
|
|
|
|
-static const TypeInfo bot_info = {
|
|
|
|
- .name = "usb-bot",
|
|
|
|
- .parent = TYPE_USB_STORAGE,
|
|
|
|
- .class_init = usb_msd_class_bot_initfn,
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
static void usb_msd_register_types(void)
|
|
static void usb_msd_register_types(void)
|
|
{
|
|
{
|
|
type_register_static(&usb_storage_dev_type_info);
|
|
type_register_static(&usb_storage_dev_type_info);
|
|
type_register_static(&msd_info);
|
|
type_register_static(&msd_info);
|
|
- type_register_static(&bot_info);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
type_init(usb_msd_register_types)
|
|
type_init(usb_msd_register_types)
|