Re: [PATCH v6 4/4] usb: host: Add ability to build new Broadcom STB USB drivers
From: Greg Kroah-Hartman
Date: Tue May 05 2020 - 06:54:18 EST
On Thu, Apr 30, 2020 at 07:12:58AM -0400, Al Cooper wrote:
> Add the build system changes needed to get the Broadcom STB XHCI,
> EHCI and OHCI functionality working. The OHCI support does not
> require anything unique to Broadcom so the standard ohci-platform
> driver is being used. The link order for XHCI was changed in the
> Makefile because of the way STB XHCI, EHCI and OHCI controllers
> share a port which requires that the XHCI driver be initialized
> first. Also update MAINTAINERS.
>
> Signed-off-by: Al Cooper <alcooperx@xxxxxxxxx>
> ---
> MAINTAINERS | 8 ++++++++
> drivers/usb/host/Kconfig | 16 ++++++++++++++++
> drivers/usb/host/Makefile | 16 ++++++++++------
> 3 files changed, 34 insertions(+), 6 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 26f281d9f32a..6147ed78d212 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3481,6 +3481,14 @@ S: Supported
> F: Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml
> F: drivers/i2c/busses/i2c-brcmstb.c
>
> +BROADCOM BRCMSTB USB EHCI DRIVER
> +M: Al Cooper <alcooperx@xxxxxxxxx>
> +L: linux-usb@xxxxxxxxxxxxxxx
> +L: bcm-kernel-feedback-list@xxxxxxxxxxxx
> +S: Maintained
> +F: Documentation/devicetree/bindings/usb/brcm,bcm7445-ehci.yaml
> +F: drivers/usb/host/ehci-brcm.*
> +
> BROADCOM BRCMSTB USB2 and USB3 PHY DRIVER
> M: Al Cooper <alcooperx@xxxxxxxxx>
> L: linux-kernel@xxxxxxxxxxxxxxx
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index 55bdfdf11e4c..7d58fd66e412 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -97,6 +97,22 @@ config USB_XHCI_TEGRA
>
> endif # USB_XHCI_HCD
>
> +config USB_EHCI_BRCMSTB
> + tristate
> +
> +config USB_BRCMSTB
> + tristate "Broadcom STB USB support"
> + depends on (ARCH_BRCMSTB && PHY_BRCM_USB) || COMPILE_TEST
> + 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
> + Say Y to enable support for XHCI, EHCI and OHCI host controllers
> + found in Broadcom STB SoC's.
> +
> + Disabling this will keep the controllers and corresponding
> + PHYs powered down.
Whhat are the module names?
And why 2 config options here?
> +
> config USB_EHCI_HCD
> tristate "EHCI HCD (USB 2.0) support"
> depends on HAS_DMA && HAS_IOMEM
> diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
> index b191361257cc..85fa6ace552a 100644
> --- a/drivers/usb/host/Makefile
> +++ b/drivers/usb/host/Makefile
> @@ -37,6 +37,15 @@ endif
>
> obj-$(CONFIG_USB_PCI) += pci-quirks.o
>
> +# NOTE: BRCMSTB systems require that xhci driver be linked before the
> +# ehci/ohci drivers.
Why? Please do this as a separate change before your makefile changes.
And what else will this break? We have relied on this link order for a
very long time, changing it could cause issues...
I don't see how your driver needs this, please explain in great detail.
thanks,
greg k-h