Patches 1 to 3 start the removal of usb_bus_find() by replacing it with object_resolve_type_unambiguous(), a function that is included in the ACPI builder but should arguably be part of the core QOM API. Because the only USB host controller must be the one created by the machine init function itself, there is no need for a special functions that looks for the "first" bus.
Patches 4 to 7 allow machines that have builtin USB devices to make the USB system merely the default, and not require it. At this point usb_bus_find() is not used anymore outside usb.c, and the only remaining caller can inline it in patch 8. Patches 9 and 10 do other build system cleanups to the USB subsystem, extracting sysbus-ohci to a separate file (as is already the case for EHCI and XHCI sysbus variants) and removing a duplicate file in the Meson sourcesets. The diffstat looks unfavorable, but it's mostly due to improved documentation and to the duplicated header comment in hw/usb/hcd-ohci-sysbus.c. Paolo Paolo Bonzini (10): acpi, qom: move object_resolve_type_unambiguous to core QOM ppc: sam460ex: do not use usb_bus_find() sh4: r2d: do not use usb_bus_find() mips/loongson3_virt: do not require CONFIG_USB hppa: do not require CONFIG_USB mac_newworld: do not require CONFIG_USB pseries: do not require CONFIG_USB usb: remove usb_bus_find usb: extract sysbus-ohci to a separate file usb: remove duplicate file in system_ss include/hw/usb.h | 1 - include/qom/object.h | 13 ++++++ hw/hppa/machine.c | 7 +-- hw/i386/acpi-build.c | 19 ++------ hw/mips/loongson3_virt.c | 5 +- hw/ppc/mac_newworld.c | 7 ++- hw/ppc/sam460ex.c | 6 ++- hw/ppc/spapr.c | 7 ++- hw/sh4/r2d.c | 4 +- hw/usb/bus.c | 15 +----- hw/usb/hcd-ohci-sysbus.c | 91 ++++++++++++++++++++++++++++++++++++++++ hw/usb/hcd-ohci.c | 58 ------------------------ qom/object.c | 16 +++++++ hw/arm/Kconfig | 12 +++-- hw/display/Kconfig | 1 + hw/hppa/Kconfig | 2 +- hw/ppc/Kconfig | 5 +- hw/sh4/Kconfig | 1 - hw/usb/Kconfig | 4 ++ hw/usb/meson.build | 3 +- 20 files changed, 163 insertions(+), 114 deletions(-) create mode 100644 hw/usb/hcd-ohci-sysbus.c -- 2.43.0