]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
hw/ppc/mac_newworld: do not require CONFIG_USB
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 23 Feb 2024 12:44:02 +0000 (13:44 +0100)
committerPhilippe Mathieu-Daudé <philmd@linaro.org>
Tue, 27 Feb 2024 08:37:15 +0000 (09:37 +0100)
With --without-default-devices it should not be required to have
devices in the binary that are removed by -nodefaults.  It should be
therefore possible to build a binary that does not include any USB
host controller or any of 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.

With this change, it is possible to change "select USB_OHCI_PCI" into
an "imply" directive.

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-7-pbonzini@redhat.com>
[PMD: Fixed style]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
hw/ppc/Kconfig
hw/ppc/mac_newworld.c

index a890699082f59bdf2e29b6729fdaeb4098099e50..c5aeb6b3f2921d24413c7e0b73222469ad779d19 100644 (file)
@@ -119,13 +119,13 @@ config MAC_NEWWORLD
     imply PCI_DEVICES
     imply SUNGEM
     imply TEST_DEVICES
+    imply USB_OHCI_PCI
     select ADB
     select MACIO
     select MACIO_GPIO
     select MAC_PMU
     select UNIN_PCI
     select FW_CFG_PPC
-    select USB_OHCI_PCI
 
 config E500
     bool
index b36dbaf2b681bbd9b0ce0082c550ee2fd29eaab7..3e796d2f6df95665f58dab95031da6cb036e2e96 100644 (file)
@@ -431,8 +431,10 @@ static void ppc_core99_init(MachineState *machine)
         /* U3 needs to use USB for input because Linux doesn't support via-cuda
         on PPC64 */
         if (!has_adb || machine_arch == ARCH_MAC99_U3) {
-            USBBus *usb_bus = usb_bus_find(-1);
+            USBBus *usb_bus;
 
+            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");
         }