On 13/08/2021 22:52, Matthias Kaehlcke wrote: > Some USB controller drivers that depend on the xhci-plat driver > specify this dependency using 'select' in Kconfig. This is not > recommended for symbols that have other dependencies as it may > lead to invalid configurations. Use 'depends on' to specify the > dependency instead of 'select'. > > For dwc3 specify the dependency on USB_XHCI_PLATFORM in > USB_DWC3_HOST and USB_DWC3_DUAL_ROLE. Also adjust the > dependencies of USB_DWC3_CORE to make sure that at least one > of USB_DWC3_HOST, USB_DWC3_GADGET or USB_DWC3_DUAL_ROLE can be > selected. > > Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxxxxxx> cheers, -roger > --- > > Changes in v16: > - none > > Changes in v15: > - adjusted dependencies of USB_DWC3_CORE to make sure it can only > be enabled when at least one of USB_DWC3_HOST, USB_DWC3_GADGET > or USB_DWC3_DUAL_ROLE is selectable > - updated commit message > > Changes in v14: > - none > > Changes in v13: > - patch added to the series > > drivers/usb/cdns3/Kconfig | 2 +- > drivers/usb/dwc3/Kconfig | 5 +++-- > drivers/usb/host/Kconfig | 4 ++-- > 3 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/drivers/usb/cdns3/Kconfig b/drivers/usb/cdns3/Kconfig > index b98ca0a1352a..07e12f786d48 100644 > --- a/drivers/usb/cdns3/Kconfig > +++ b/drivers/usb/cdns3/Kconfig > @@ -1,7 +1,7 @@ > config USB_CDNS_SUPPORT > tristate "Cadence USB Support" > depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA > - select USB_XHCI_PLATFORM if USB_XHCI_HCD > + depends on !USB_XHCI_HCD || USB_XHCI_PLATFORM > select USB_ROLE_SWITCH > help > Say Y here if your system has a Cadence USBSS or USBSSP > diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig > index 66b1454c4db2..870f2251350a 100644 > --- a/drivers/usb/dwc3/Kconfig > +++ b/drivers/usb/dwc3/Kconfig > @@ -2,8 +2,7 @@ > > config USB_DWC3 > tristate "DesignWare USB3 DRD Core Support" > - depends on (USB || USB_GADGET) && HAS_DMA > - select USB_XHCI_PLATFORM if USB_XHCI_HCD > + depends on ((USB && USB_XHCI_PLATFORM) || USB_GADGET) && HAS_DMA > select USB_ROLE_SWITCH if USB_DWC3_DUAL_ROLE > help > Say Y or M here if your system has a Dual Role SuperSpeed > @@ -30,6 +29,7 @@ choice > config USB_DWC3_HOST > bool "Host only mode" > depends on USB=y || USB=USB_DWC3 > + depends on USB_XHCI_PLATFORM > help > Select this when you want to use DWC3 in host mode only, > thereby the gadget feature will be regressed. > @@ -44,6 +44,7 @@ config USB_DWC3_GADGET > config USB_DWC3_DUAL_ROLE > bool "Dual Role mode" > depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3)) > + depends on USB_XHCI_PLATFORM > depends on (EXTCON=y || EXTCON=USB_DWC3) > help > This is the default mode of working of DWC3 controller where > diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig > index df9428f1dc5e..518c2312ef0c 100644 > --- a/drivers/usb/host/Kconfig > +++ b/drivers/usb/host/Kconfig > @@ -80,7 +80,7 @@ config USB_XHCI_MTK > > config USB_XHCI_MVEBU > tristate "xHCI support for Marvell Armada 375/38x/37xx" > - select USB_XHCI_PLATFORM > + depends on USB_XHCI_PLATFORM > depends on HAS_IOMEM > depends on ARCH_MVEBU || COMPILE_TEST > help > @@ -112,9 +112,9 @@ config USB_EHCI_BRCMSTB > config USB_BRCMSTB > tristate "Broadcom STB USB support" > depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST > + depends on !USB_XHCI_HCD || USB_XHCI_PLATFORM > select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD > select USB_EHCI_BRCMSTB if USB_EHCI_HCD > - select USB_XHCI_PLATFORM if USB_XHCI_HCD > help > Enables support for XHCI, EHCI and OHCI host controllers > found in Broadcom STB SoC's. >