summaryrefslogtreecommitdiff
path: root/drivers/usb/host/Kconfig
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2023-01-31 16:04:31 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-02-02 11:12:59 +0100
commitec5499d338ece9db9b7590649d3cfcc4d7f9603d (patch)
treed5b2e25d3552d7162a4a5f6531ea3b4b615536cd /drivers/usb/host/Kconfig
parentba883de971d1ad018f3083d9195b8abe54d87407 (diff)
xhci: split out rcar/rz support from xhci-plat.c
The USB_XHCI_RZV2M and USB_RENESAS_USB3 select other drivers based on the enabled SoC types, which leads to build failures when the dependencies are not met: WARNING: unmet direct dependencies detected for USB_RZV2M_USB3DRD Depends on [n]: USB_SUPPORT [=y] && USB_GADGET [=n] && (ARCH_R9A09G011 [=n] || COMPILE_TEST [=y]) Selected by [m]: - USB_XHCI_RZV2M [=m] && USB_SUPPORT [=y] && USB [=y] && USB_XHCI_HCD [=m] && USB_XHCI_PLATFORM [=m] && (ARCH_R9A09G011 [=n] || COMPILE_TEST [=y]) ERROR: modpost: "rzv2m_usb3drd_reset" [drivers/usb/host/xhci-plat-hcd.ko] undefined! The xhci-rcar driver has a reverse dependency with the xhci core, and it depends on the UDC driver in turn. To untangle this, make the xhci-rcar.ko driver a standalone module that just calls into the xhci-plat.ko module like other drivers do. This allows handling the dependency on the USB_RZV2M_USB3DRD driver to only affect the xhci-rcar module and simplify the xhci-plat module. It also allows leaving out the hacks for broken dma mask and nested devices from the rcar side and keep that only in the generic xhci driver. As a future cleanup, the marvell and dwc3 specific bits of xhci-plat.c could be moved out as well, but that is not required for this bugfix. Fixes: c52c9acc415e ("xhci: host: Add Renesas RZ/V2M SoC support") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Tested-by: Biju Das <biju.das.jz@bp.renesas.com> Link: https://lore.kernel.org/r/20230131150531.12347-1-arnd@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/Kconfig')
-rw-r--r--drivers/usb/host/Kconfig9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 662a8bd9a3af..0a54190bb097 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -53,8 +53,6 @@ config USB_XHCI_PCI_RENESAS
config USB_XHCI_PLATFORM
tristate "Generic xHCI driver for a platform device"
- select USB_XHCI_RCAR if ARCH_RENESAS
- select USB_XHCI_RZV2M if ARCH_R9A09G011
help
Adds an xHCI host driver for a generic platform device, which
provides a memory space and an irq.
@@ -92,15 +90,16 @@ config USB_XHCI_RCAR
tristate "xHCI support for Renesas R-Car SoCs"
depends on USB_XHCI_PLATFORM
depends on ARCH_RENESAS || COMPILE_TEST
+ default ARCH_RENESAS
help
Say 'Y' to enable the support for the xHCI host controller
found in Renesas R-Car ARM SoCs.
config USB_XHCI_RZV2M
- tristate "xHCI support for Renesas RZ/V2M SoC"
- depends on USB_XHCI_PLATFORM
+ bool "xHCI support for Renesas RZ/V2M SoC"
+ depends on USB_XHCI_RCAR
depends on ARCH_R9A09G011 || COMPILE_TEST
- select USB_RZV2M_USB3DRD
+ depends on USB_RZV2M_USB3DRD=y || (USB_RZV2M_USB3DRD=USB_XHCI_RCAR)
help
Say 'Y' to enable the support for the xHCI host controller
found in Renesas RZ/V2M SoC.