mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
usb: tag standalone uhci as hotpluggable
uhci hostadapters in companion setups can't be hotplugged. So leave hotplug disabled for all ich9 variants (which are already tagged with unplug = true in the info struct). For the other variants we'll enable hotplug and remove the companion setup properties. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
3533c3d2bf
commit
638ca939d8
1 changed files with 13 additions and 3 deletions
|
@ -1279,13 +1279,18 @@ static void usb_uhci_exit(PCIDevice *dev)
|
|||
}
|
||||
}
|
||||
|
||||
static Property uhci_properties[] = {
|
||||
static Property uhci_properties_companion[] = {
|
||||
DEFINE_PROP_STRING("masterbus", UHCIState, masterbus),
|
||||
DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
|
||||
DEFINE_PROP_UINT32("bandwidth", UHCIState, frame_bandwidth, 1280),
|
||||
DEFINE_PROP_UINT32("maxframes", UHCIState, maxframes, 128),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
static Property uhci_properties_standalone[] = {
|
||||
DEFINE_PROP_UINT32("bandwidth", UHCIState, frame_bandwidth, 1280),
|
||||
DEFINE_PROP_UINT32("maxframes", UHCIState, maxframes, 128),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
static void uhci_class_init(ObjectClass *klass, void *data)
|
||||
{
|
||||
|
@ -1300,9 +1305,14 @@ static void uhci_class_init(ObjectClass *klass, void *data)
|
|||
k->device_id = info->device_id;
|
||||
k->revision = info->revision;
|
||||
k->class_id = PCI_CLASS_SERIAL_USB;
|
||||
dc->hotpluggable = false;
|
||||
dc->vmsd = &vmstate_uhci;
|
||||
dc->props = uhci_properties;
|
||||
if (!info->unplug) {
|
||||
/* uhci controllers in companion setups can't be hotplugged */
|
||||
dc->hotpluggable = false;
|
||||
dc->props = uhci_properties_companion;
|
||||
} else {
|
||||
dc->props = uhci_properties_standalone;
|
||||
}
|
||||
set_bit(DEVICE_CATEGORY_USB, dc->categories);
|
||||
u->info = *info;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue