Message ID | 20210813125146.v16.5.If248f05613bbb06a44eb0b0909be5d97218f417b@changeid (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | usb: misc: Add onboard_usb_hub driver | expand |
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@chromium.org> Reviewed-by: Roger Quadros <rogerq@kernel.org> 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. >
Hi, On Fri, Aug 13, 2021 at 12:52 PM Matthias Kaehlcke <mka@chromium.org> wrote: > > 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 Technically you don't need the "USB &&", right? Since USB_XHCI_PLATFORM is defined in 'usb/host/Kconfig' and that's only even included if USB is defined. So it can be just: depends on (USB_XHCI_PLATFORM || USB_GADGET) && HAS_DMA That's not terribly important, though, so: Reviewed-by: Douglas Anderson <dianders@chromium.org>
On Thu, Nov 11, 2021 at 03:48:06PM -0800, Doug Anderson wrote: > Hi, > > On Fri, Aug 13, 2021 at 12:52 PM Matthias Kaehlcke <mka@chromium.org> wrote: > > > > 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 > > Technically you don't need the "USB &&", right? Since > USB_XHCI_PLATFORM is defined in 'usb/host/Kconfig' and that's only > even included if USB is defined. So it can be just: > > depends on (USB_XHCI_PLATFORM || USB_GADGET) && HAS_DMA True, the dependency on USB isn't strictly needed. > That's not terribly important, though, so: > > Reviewed-by: Douglas Anderson <dianders@chromium.org> Thanks!
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.
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@chromium.org> --- 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(-)