On 23/2/24 13:44, Paolo Bonzini wrote:
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é <phi...@linaro.org>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
  hw/ppc/spapr.c | 7 +++----
  hw/ppc/Kconfig | 1 +
  2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 0d72d286d80..44d339982da 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -3024,10 +3024,9 @@ static void spapr_machine_init(MachineState *machine)
          }
if (has_vga) {

Pre-existing, don't we want defaults_enabled() instead of has_vga here?

-            USBBus *usb_bus = usb_bus_find(-1);
-
-            usb_create_simple(usb_bus, "usb-kbd");
-            usb_create_simple(usb_bus, "usb-mouse");
+            Object *usb_bus = object_resolve_type_unambiguous(TYPE_USB_BUS, 
&error_abort);
+            usb_create_simple(USB_BUS(usb_bus), "usb-kbd");
+            usb_create_simple(USB_BUS(usb_bus), "usb-mouse");
          }
      }
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 9841c2c9690..d497fa2b825 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -1,5 +1,6 @@
  config PSERIES
      bool
+    imply USB_OHCI_PCI
      imply PCI_DEVICES
      imply TEST_DEVICES
      imply VIRTIO_VGA

Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>


Reply via email to