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
@ -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_STRING("masterbus", UHCIState, masterbus),
|
||||||
DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
|
DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
|
||||||
DEFINE_PROP_UINT32("bandwidth", UHCIState, frame_bandwidth, 1280),
|
DEFINE_PROP_UINT32("bandwidth", UHCIState, frame_bandwidth, 1280),
|
||||||
DEFINE_PROP_UINT32("maxframes", UHCIState, maxframes, 128),
|
DEFINE_PROP_UINT32("maxframes", UHCIState, maxframes, 128),
|
||||||
DEFINE_PROP_END_OF_LIST(),
|
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)
|
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->device_id = info->device_id;
|
||||||
k->revision = info->revision;
|
k->revision = info->revision;
|
||||||
k->class_id = PCI_CLASS_SERIAL_USB;
|
k->class_id = PCI_CLASS_SERIAL_USB;
|
||||||
dc->hotpluggable = false;
|
|
||||||
dc->vmsd = &vmstate_uhci;
|
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);
|
set_bit(DEVICE_CATEGORY_USB, dc->categories);
|
||||||
u->info = *info;
|
u->info = *info;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user