[PATCH 00/10] usb cleanups: remove usb_bus_find(), extract sysbus-ohci to a separate file

Paolo Bonzini posted 10 patches 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240223124406.234509-1-pbonzini@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, "Michael S. Tsirkin" <mst@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <anisinha@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Huacai Chen <chenhuacai@kernel.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, BALATON Zoltan <balaton@eik.bme.hu>, Nicholas Piggin <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Yoshinori Sato <ysato@users.sourceforge.jp>, Magnus Damm <magnus.damm@gmail.com>, Gerd Hoffmann <kraxel@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>
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
[PATCH 00/10] usb cleanups: remove usb_bus_find(), extract sysbus-ohci to a separate file
Posted by Paolo Bonzini 9 months ago
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
Re: [PATCH 00/10] usb cleanups: remove usb_bus_find(), extract sysbus-ohci to a separate file
Posted by Philippe Mathieu-Daudé 9 months ago
On 23/2/24 13:43, Paolo Bonzini wrote:

> 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

Thanks, queued addressing Thomas & Markus comments.