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/ehci-hcd.c | |
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/ehci-hcd.c')
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index b12b97d2ccaf..1f97268bb5d6 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c | |||
@@ -1249,11 +1249,6 @@ MODULE_LICENSE ("GPL"); | |||
1249 | #define XILINX_OF_PLATFORM_DRIVER ehci_hcd_xilinx_of_driver | 1249 | #define XILINX_OF_PLATFORM_DRIVER ehci_hcd_xilinx_of_driver |
1250 | #endif | 1250 | #endif |
1251 | 1251 | ||
1252 | #ifdef CONFIG_PLAT_ORION | ||
1253 | #include "ehci-orion.c" | ||
1254 | #define PLATFORM_DRIVER ehci_orion_driver | ||
1255 | #endif | ||
1256 | |||
1257 | #ifdef CONFIG_USB_W90X900_EHCI | 1252 | #ifdef CONFIG_USB_W90X900_EHCI |
1258 | #include "ehci-w90x900.c" | 1253 | #include "ehci-w90x900.c" |
1259 | #define PLATFORM_DRIVER ehci_hcd_w90x900_driver | 1254 | #define PLATFORM_DRIVER ehci_hcd_w90x900_driver |
@@ -1319,6 +1314,7 @@ MODULE_LICENSE ("GPL"); | |||
1319 | !IS_ENABLED(CONFIG_USB_CHIPIDEA_HOST) && \ | 1314 | !IS_ENABLED(CONFIG_USB_CHIPIDEA_HOST) && \ |
1320 | !IS_ENABLED(CONFIG_USB_EHCI_MXC) && \ | 1315 | !IS_ENABLED(CONFIG_USB_EHCI_MXC) && \ |
1321 | !IS_ENABLED(CONFIG_USB_EHCI_HCD_OMAP) && \ | 1316 | !IS_ENABLED(CONFIG_USB_EHCI_HCD_OMAP) && \ |
1317 | !IS_ENABLED(CONFIG_USB_EHCI_HCD_ORION) && \ | ||
1322 | !defined(PLATFORM_DRIVER) && \ | 1318 | !defined(PLATFORM_DRIVER) && \ |
1323 | !defined(PS3_SYSTEM_BUS_DRIVER) && \ | 1319 | !defined(PS3_SYSTEM_BUS_DRIVER) && \ |
1324 | !defined(OF_PLATFORM_DRIVER) && \ | 1320 | !defined(OF_PLATFORM_DRIVER) && \ |