aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2024-02-23 13:44:02 +0100
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2024-02-27 09:37:15 +0100
commit2dd2f2e0e226a0cc21fbc32341265a4736f7856e (patch)
tree2a1892acde6d53baf499d0f29162d9eafa6db452
parent82523f4add2c41847c9799585581c113a11071ee (diff)
hw/ppc/mac_newworld: do not require CONFIG_USB
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>
-rw-r--r--hw/ppc/Kconfig2
-rw-r--r--hw/ppc/mac_newworld.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index a890699082..c5aeb6b3f2 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -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
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index b36dbaf2b6..3e796d2f6d 100644
--- a/hw/ppc/mac_newworld.c
+++ b/hw/ppc/mac_newworld.c
@@ -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");
}