Skip to contentSkip to conversation

xhci: host: renesas: drop excessive Kconfig selects

PATCH In review Arnd Bergmann 2 participants 2 messages Jan 30, 2023 USB

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 xhci: host: renesas: drop excessive Kconfig selects

From: Arnd Bergmann <[email protected]>

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!

All the selected symbols are actually user visible, so the correct approach here is to drop the incorrect 'select' statements and have users turn on those drivers during kernel configuration as they would for any other driver.

Fixes c52c9acc415e ("xhci: host: Add Renesas RZ/V2M SoC support")
---
 drivers/usb/gadget/udc/Kconfig | 1 -
 drivers/usb/host/Kconfig       | 3 ---
 2 files changed, 4 deletions(-)
drivers/usb/gadget/udc/Kconfig +0 -1
index 9b7a1681550f..1821004dd325 100644
@@ -195,7 +195,6 @@ config USB_RENESAS_USB3
 	tristate 'Renesas USB3.0 Peripheral controller'
 	depends on ARCH_RENESAS || COMPILE_TEST
 	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
drivers/usb/host/Kconfig +0 -3
index 4b5c5b1feb40..b975178b38bf 100644
@@ -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.
@@ -100,7 +98,6 @@ config USB_XHCI_RZV2M
 	tristate "xHCI support for Renesas RZ/V2M SoC"
 	depends on USB_XHCI_PLATFORM
 	depends on ARCH_R9A09G011 || COMPILE_TEST
-	select USB_RZV2M_USB3DRD
 	help
 	  Say 'Y' to enable the support for the xHCI host controller
 	  found in Renesas RZ/V2M SoC.
Signature · 1 line
2.39.0
#1 lore raw

Hi Arnd Bergmann,

Thanks for the patch.

+ renesas-soc.

Quoted 17 lines

Subject: [PATCH] xhci: host: renesas: drop excessive Kconfig selects

From: Arnd Bergmann <[email protected]>

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!

Quoted 4 lines

All the selected symbols are actually user visible, so the correct approach here is to drop the incorrect 'select' statements and have users turn on those drivers during kernel configuration as they would for any other driver.

Both Host and device controller need USB3DRD driver to work.
ie, the reason, added select statement to explicitly enable "USB_RZV2M_USB3DRD" by default.

I have tested this patch with below configurations in ARM64 defconfig.

+CONFIG_USB_XHCI_RZV2M=y
+CONFIG_USB_RZV2M_USB3DRD=y

Quoted 25 lines
Fixes c52c9acc415e ("xhci: host: Add Renesas RZ/V2M SoC support")
---
 drivers/usb/gadget/udc/Kconfig | 1 -
 drivers/usb/host/Kconfig       | 3 ---
 2 files changed, 4 deletions(-)
drivers/usb/gadget/udc/Kconfig +0 -1
index 9b7a1681550f..1821004dd325 100644
@@ -195,7 +195,6 @@ config USB_RENESAS_USB3
 	tristate 'Renesas USB3.0 Peripheral controller'
 	depends on ARCH_RENESAS || COMPILE_TEST
 	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
drivers/usb/host/Kconfig index renamed from drivers/usb/host/Kconfig +0 -0

4b5c5b1feb40..b975178b38bf 100644

drivers/usb/host/Kconfig config USB_XHCI_PCI_RENESAS · line 56

Quoted 4 lines
drivers/usb/host/Kconfig +0 -1
@@ -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

This change has nothing to do with RZ/V2M fixes. Currently USB_XHCI_RCAR is enabled by default, with this change user has to enable it separately.

Maybe keep it here or add a separate patch for dropping it here and add it to the defconfig??

Cheers,
Biju

Quoted 14 lines
drivers/usb/host/Kconfig +0 -3
-	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.
@@ -100,7 +98,6 @@ config USB_XHCI_RZV2M
 	tristate "xHCI support for Renesas RZ/V2M SoC"
 	depends on USB_XHCI_PLATFORM
 	depends on ARCH_R9A09G011 || COMPILE_TEST
-	select USB_RZV2M_USB3DRD
 	help
 	  Say 'Y' to enable the support for the xHCI host controller
 	  found in Renesas RZ/V2M SoC.
--

2.39.0