nuttx/drivers/usbhost
Justin Hammond 82fb0d8d06 drivers/usbhost: Separate the xHCI driver from the PCI bus.
Nothing in the controller driver is PCI-specific beyond finding the
registers and the interrupt, so an SoC wiring an xHCI controller
directly could not use any of it.

usbhost_xhci.c is now the driver; usbhost_xhci_pci.c is the PCI
attachment, holding the ID table, the BAR mapping and the MSI-X vector.
include/nuttx/usb/xhci.h carries what passes between them: the register
base, a way to attach the interrupt, and a name to report the controller
by, since a system may have more than one.

The interrupt belongs to the bus: the bus attaches and detaches it, and
the driver never holds an interrupt number.

USBHOST_XHCI is the driver and is not selectable on its own;
USBHOST_XHCI_PCI selects it.  Another bus adds its own symbol beside it.

No functional change intended.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Justin Hammond <justin@dynam.ac>
2026-08-18 09:35:23 -03:00
..
CMakeLists.txt
hid_parser.c
Kconfig
Make.defs
usbhost_bthci.c
usbhost_cdcacm.c
usbhost_cdcecm.c
usbhost_cdcmbim.c
usbhost_composite.c
usbhost_composite.h
usbhost_devaddr.c
usbhost_drivers.c
usbhost_enumerate.c
usbhost_findclass.c
usbhost_ft232r.c
usbhost_hidkbd.c
usbhost_hidmouse.c
usbhost_hub.c
usbhost_max3421e.c
usbhost_registerclass.c
usbhost_registry.c
usbhost_registry.h
usbhost_skeleton.c
usbhost_storage.c
usbhost_trace.c
usbhost_waiter.c
usbhost_xboxcontroller.c
usbhost_xhci.c
usbhost_xhci.h
usbhost_xhci_pci.c
usbhost_xhci_trace.c
usbhost_xhci_trace.h