xhci: host: renesas: drop excessive Kconfig selects
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.
--- drivers/usb/gadget/udc/Kconfig | 1 - drivers/usb/host/Kconfig | 3 --- 2 files changed, 4 deletions(-)
drivers/usb/gadget/udc/Kconfig +0 -1
@@ -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
@@ -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
Hi Arnd Bergmann,
Thanks for the patch.
+ renesas-soc.
Quoted 17 lines
Subject: [PATCH] xhci: host: renesas: drop excessive
KconfigselectsFrom: Arnd Bergmann <[email protected]>
The
USB_XHCI_RZV2MandUSB_RENESAS_USB3select 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")Signed-off-by Arnd Bergmann <[email protected]>--- drivers/usb/gadget/udc/Kconfig | 1 - drivers/usb/host/Kconfig | 3 --- 2 files changed, 4 deletions(-)drivers/usb/gadget/udc/Kconfig +0
-1@@ -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 controllerdrivers/usb/host/Kconfig index renamed from drivers/usb/host/Kconfig +0
-0
4b5c5b1feb40..b975178b38bf100644
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