Message ID | 20240223124406.234509-7-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
Series | usb cleanups: remove usb_bus_find(), extract sysbus-ohci to a separate file | expand |
On 23/2/24 13:44, Paolo Bonzini wrote: > 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> > --- > hw/ppc/mac_newworld.c | 7 +++---- > hw/ppc/Kconfig | 2 +- > 2 files changed, 4 insertions(+), 5 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index b36dbaf2b68..4efebab66b4 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -431,10 +431,9 @@ 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); - - 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 44263a58c4d..9841c2c9690 100644 --- a/hw/ppc/Kconfig +++ b/hw/ppc/Kconfig @@ -116,13 +116,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
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> --- hw/ppc/mac_newworld.c | 7 +++---- hw/ppc/Kconfig | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-)