summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/udc/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/gadget/udc/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/gadget/udc/Kconfig')
-rw-r--r--drivers/usb/gadget/udc/Kconfig4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/usb/gadget/udc/Kconfig b/drivers/usb/gadget/udc/Kconfig
index 1e32d1d7dfb7..22a9f5082116 100644
--- a/drivers/usb/gadget/udc/Kconfig
+++ b/drivers/usb/gadget/udc/Kconfig
@@ -183,8 +183,6 @@ config USB_RENESAS_USBHS_UDC
config USB_RZV2M_USB3DRD
tristate 'Renesas USB3.1 DRD controller'
depends on ARCH_R9A09G011 || COMPILE_TEST
- default USB_XHCI_RZV2M
- default USB_RENESAS_USB3
help
Renesas USB3.1 DRD controller is a USB DRD controller
that supports both host and device switching.
@@ -195,8 +193,8 @@ config USB_RZV2M_USB3DRD
config USB_RENESAS_USB3
tristate 'Renesas USB3.0 Peripheral controller'
depends on ARCH_RENESAS || COMPILE_TEST
+ depends on USB_RZV2M_USB3DRD || !USB_RZV2M_USB3DRD
depends on EXTCON
- select USB_RZV2M_USB3DRD if ARCH_R9A09G011
select USB_ROLE_SWITCH
help
Renesas USB3.0 Peripheral controller is a USB peripheral controller