On Tue, Nov 16, 2021 at 12:07:39PM -0800, 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> > Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> > --- > > Changes in v17: > - removed explicit dependency on USB from USB_DWC3 > - added 'Reviewed-by' tags from Roger and Doug > > 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 > diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig > index d1d926f8f9c2..e5e612f143a1 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. It should be pointed out that this now requires people with xHCI systems to actively turn on CONFIG_USB_XHCI_PLATFORM before they can enable CONFIG_USB_BRCMSTB. Before, that was not necessary. Some users might get confused and not realize what is needed. Perhaps something should be added to the "help" text. Alan Stern