Hi Arnd Bergmann, Thanks for the patch. + renesas-soc. > Subject: [PATCH] xhci: host: renesas: drop excessive Kconfig selects > > From: Arnd Bergmann <arnd@xxxxxxxx> > > 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. 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 > > Fixes: c52c9acc415e ("xhci: host: Add Renesas RZ/V2M SoC support") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > drivers/usb/gadget/udc/Kconfig | 1 - > drivers/usb/host/Kconfig | 3 --- > 2 files changed, 4 deletions(-) > > diff --git a/drivers/usb/gadget/udc/Kconfig b/drivers/usb/gadget/udc/Kconfig > index 9b7a1681550f..1821004dd325 100644 > --- a/drivers/usb/gadget/udc/Kconfig > +++ b/drivers/usb/gadget/udc/Kconfig > @@ -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 > diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index > 4b5c5b1feb40..b975178b38bf 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 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 > - 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