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


Reply via email to