With --without-default-devices it is possible to build a binary that
does not include any USB host controller and therefore that does not
include the code guarded by CONFIG_USB. While the simpler creation
functions such as usb_create_simple can be inlined, this is not true
of usb_bus_find(). Remove it, replacing it with a search of the single
USB bus on the machine.
Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <
20240223124406.234509-6-pbonzini@redhat.com>
[PMD: Fixed style]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
bool
imply PCI_DEVICES
imply E1000_PCI
+ imply USB_OHCI_PCI
imply VIRTIO_VGA
select ASTRO
select DINO
select LASIPS2
select PARALLEL
select ARTIST
- select USB_OHCI_PCI
}
/* create USB OHCI controller for USB keyboard & mouse on Astro machines */
- if (!lasi_dev && machine->enable_graphics) {
+ if (!lasi_dev && machine->enable_graphics && defaults_enabled()) {
+ USBBus *usb_bus;
+
pci_create_simple(pci_bus, -1, "pci-ohci");
- usb_create_simple(usb_bus_find(-1), "usb-kbd");
- usb_create_simple(usb_bus_find(-1), "usb-mouse");
+ usb_bus = USB_BUS(object_resolve_type_unambiguous(TYPE_USB_BUS,
+ &error_abort));
+ usb_create_simple(usb_bus, "usb-kbd");
+ usb_create_simple(usb_bus, "usb-mouse");
}
/* register power switch emulation */