[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 15/30] hw/ppc/mac_newworld: do not require CONFIG_USB
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 15/30] hw/ppc/mac_newworld: do not require CONFIG_USB |
Date: |
Tue, 27 Feb 2024 09:39:31 +0100 |
From: Paolo Bonzini <pbonzini@redhat.com>
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/mac_newworld.c | 4 +++-
hw/ppc/Kconfig | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
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");
}
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
--
2.41.0
- [PULL 06/30] hw/sysbus: Remove now unused sysbus_address_space(), (continued)
- [PULL 06/30] hw/sysbus: Remove now unused sysbus_address_space(), Philippe Mathieu-Daudé, 2024/02/27
- [PULL 08/30] hw/nubus: increase maximum Declaration ROM size from 128k to 1Mb, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 09/30] hw/nubus: add nubus-virtio-mmio device, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 10/30] hw/acpi: move object_resolve_type_unambiguous to core QOM, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 11/30] hw/ppc/sam460ex: do not use usb_bus_find(), Philippe Mathieu-Daudé, 2024/02/27
- [PULL 12/30] hw/sh4/r2d: do not use usb_bus_find(), Philippe Mathieu-Daudé, 2024/02/27
- [PULL 13/30] hw/mips/loongson3_virt: do not require CONFIG_USB, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 16/30] hw/ppc/pseries: do not require CONFIG_USB, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 18/30] hw/usb: extract sysbus-ohci to a separate file, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 14/30] hw/hppa: do not require CONFIG_USB, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 15/30] hw/ppc/mac_newworld: do not require CONFIG_USB,
Philippe Mathieu-Daudé <=
- [PULL 17/30] hw/usb: remove usb_bus_find, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 19/30] hw/usb: remove duplicate file in system_ss, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 20/30] hw/nvme: fix invalid endian conversion, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 21/30] hw/i386/x86: Let ioapic_init_gsi() take parent as pointer, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 22/30] hw/i386/sgx: Use QDev API, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 23/30] hw/i386/q35: Include missing 'hw/acpi/acpi.h' header, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 24/30] hw/i386/pc: Rename "bus" attribute to "pcibus", Philippe Mathieu-Daudé, 2024/02/27
- [PULL 25/30] hw/i386/pc_{piix, q35}: Eliminate local pci_bus/pci_host variables, Philippe Mathieu-Daudé, 2024/02/27
- [PULL 26/30] hw/i386/pc: Remove unneeded class attribute "kvmclock_enabled", Philippe Mathieu-Daudé, 2024/02/27
- [PULL 27/30] hw/i386/pc: Populate RTC attribute directly, Philippe Mathieu-Daudé, 2024/02/27