diff options
author | Manjunath Goudar <manjunath.goudar@linaro.org> | 2013-04-02 12:23:59 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-08 12:33:40 -0400 |
commit | a76dd463c58efa5dfd72c3dd41f5a76b196f7ab1 (patch) | |
tree | b73a75fe1cfceeea319a128fe0f24b5d18f461b0 /drivers/usb/host/Kconfig | |
parent | 58f8b6c4fa5a13cb2ddb400e26e9e65766d71e38 (diff) |
USB: EHCI: make ehci-orion a separate driver
Separate the Orion host controller driver from ehci-hcd host
code into its own driver module because of following reason.
With the multiplatform changes in arm-soc tree, it becomes
possible to enable the mvebu platform (which uses
ehci-orion) at the same time as other platforms that require
a conflicting EHCI bus glue. At the moment, this results
in a warning like
drivers/usb/host/ehci-hcd.c:1297:0: warning: "PLATFORM_DRIVER" redefined [enabled by default]
drivers/usb/host/ehci-hcd.c:1277:0: note: this is the location of the previous definition
drivers/usb/host/ehci-orion.c:334:31: warning: 'ehci_orion_driver' defined but not used [-Wunused-variable]
and an ehci driver that only works on one of them.
With the infrastructure added by Alan Stern in patch 3e0232039
"USB: EHCI: prepare to make ehci-hcd a library module", we can
avoid this problem by turning a bus glue into a separate
module, as we do here for the orion bus glue.
An earlier version of this patch was included in 3.9 but caused
a regression there, which has subsequently been fixed.
While we are here, use the opportunity to disabiguate the two
Marvell EHCI controller implementations in Kconfig.
In V4 (arnd):
- Improve Kconfig text
In V3:
- More detail provided in commit message regarding this patch.
- Replaced hcd_name string "ehci-orion" into "orion-ehci".
- MODULE_LICENSE is GPL v2.
- In ehci_init_driver calling second argument passed as NULL instead of
ehci_orion_overrides because ehci_orion_overrides is removed.
In V2:
- Tegra patch related changes removed from this patch.
Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/Kconfig')
-rw-r--r-- | drivers/usb/host/Kconfig | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index f7af0984743b..c49a0b5da1f4 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig | |||
@@ -163,6 +163,17 @@ config USB_EHCI_HCD_OMAP | |||
163 | Enables support for the on-chip EHCI controller on | 163 | Enables support for the on-chip EHCI controller on |
164 | OMAP3 and later chips. | 164 | OMAP3 and later chips. |
165 | 165 | ||
166 | config USB_EHCI_HCD_ORION | ||
167 | tristate "Support for Marvell EBU on-chip EHCI USB controller" | ||
168 | depends on USB_EHCI_HCD && PLAT_ORION | ||
169 | default y | ||
170 | ---help--- | ||
171 | Enables support for the on-chip EHCI controller on Marvell's | ||
172 | embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP, | ||
173 | Armada 370. This is different from the EHCI implementation | ||
174 | on Marvell's mobile PXA and MMP SoC, see "EHCI support for | ||
175 | Marvell PXA/MMP USB controller" for those. | ||
176 | |||
166 | config USB_EHCI_MSM | 177 | config USB_EHCI_MSM |
167 | bool "Support for MSM on-chip EHCI USB controller" | 178 | bool "Support for MSM on-chip EHCI USB controller" |
168 | depends on USB_EHCI_HCD && ARCH_MSM | 179 | depends on USB_EHCI_HCD && ARCH_MSM |
@@ -207,13 +218,17 @@ config USB_EHCI_S5P | |||
207 | Enable support for the S5P SOC's on-chip EHCI controller. | 218 | Enable support for the S5P SOC's on-chip EHCI controller. |
208 | 219 | ||
209 | config USB_EHCI_MV | 220 | config USB_EHCI_MV |
210 | bool "EHCI support for Marvell on-chip controller" | 221 | bool "EHCI support for Marvell PXA/MMP USB controller" |
211 | depends on USB_EHCI_HCD && (ARCH_PXA || ARCH_MMP) | 222 | depends on USB_EHCI_HCD && (ARCH_PXA || ARCH_MMP) |
212 | select USB_EHCI_ROOT_HUB_TT | 223 | select USB_EHCI_ROOT_HUB_TT |
213 | ---help--- | 224 | ---help--- |
214 | Enables support for Marvell (including PXA and MMP series) on-chip | 225 | Enables support for Marvell (including PXA and MMP series) on-chip |
215 | USB SPH and OTG controller. SPH is a single port host, and it can | 226 | USB SPH and OTG controller. SPH is a single port host, and it can |
216 | only be EHCI host. OTG is controller that can switch to host mode. | 227 | only be EHCI host. OTG is controller that can switch to host mode. |
228 | Note that this driver will not work on Marvell's other EHCI | ||
229 | controller used by the EBU-type SoCs including Orion, Kirkwood, | ||
230 | Dova, Armada 370 and Armada XP. See "Support for Marvell EBU | ||
231 | on-chip EHCI USB controller" for those. | ||
217 | 232 | ||
218 | config USB_W90X900_EHCI | 233 | config USB_W90X900_EHCI |
219 | bool "W90X900(W90P910) EHCI support" | 234 | bool "W90X900(W90P910) EHCI support" |