diff options
author | Manjunath Goudar <manjunath.goudar@linaro.org> | 2013-04-02 12:24:00 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-08 12:35:22 -0400 |
commit | 7675d6ba436f8439fc524ee0b42dc562cb1bc74e (patch) | |
tree | 96f73354c755b827e473479064f847ff02855764 /drivers/usb/host/ehci-hcd.c | |
parent | a76dd463c58efa5dfd72c3dd41f5a76b196f7ab1 (diff) |
USB: EHCI: make ehci-spear a separate driver
Separate the SPEAr host controller driver from ehci-hcd host code
so that it can be built as a separate driver module.
This work is part of enabling multi-platform kernels on ARM;
however, note that other changes are still needed before SPEAr can be
booted with a multi-platform kernel, but they are queued in the
arm-soc tree for 3.10.
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 SPEAr bus glue.
In V4 (arnd):
- renamed all 'struct spear_ehci' pointers from 'ehci' to the
less ambiguous 'sehci'.
- folded trivial spear_start_ehci/spear_stop_ehci functions into
callers.
- brought back initialization of ehci->caps.
In V3:
- Detailed commit message added here about why this patch is required.
- Eliminated ehci_spear_setup routine because hcd registers can
be directly set in the spear_ehci_hcd_drv_probe function.
- spear_overrides struct initialized.
- Converted to using .extra_priv_size for allocating spear_ehci,
and updated all users of that structure.
- to_spear_ehci() macro modified for spear_ehci.
In V2:
- Replaced spear as SPEAr everywhere, leaving functions/variables/config options.
Signed-off-by: Deepak Saxena <dsaxena@linaro.org>
Signed-off-by: Manjunath Goudar <manjunath.goudar@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Viresh Kumar <viresh.linux@gmail.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Shiraz Hashim <shiraz.hashim@st.com>
Cc: spear-devel@list.st.com
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 1f97268bb5d6..c8c70a1fabc4 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c | |||
@@ -1264,11 +1264,6 @@ MODULE_LICENSE ("GPL"); | |||
1264 | #define PLATFORM_DRIVER ehci_octeon_driver | 1264 | #define PLATFORM_DRIVER ehci_octeon_driver |
1265 | #endif | 1265 | #endif |
1266 | 1266 | ||
1267 | #ifdef CONFIG_PLAT_SPEAR | ||
1268 | #include "ehci-spear.c" | ||
1269 | #define PLATFORM_DRIVER spear_ehci_hcd_driver | ||
1270 | #endif | ||
1271 | |||
1272 | #ifdef CONFIG_USB_EHCI_MSM | 1267 | #ifdef CONFIG_USB_EHCI_MSM |
1273 | #include "ehci-msm.c" | 1268 | #include "ehci-msm.c" |
1274 | #define PLATFORM_DRIVER ehci_msm_driver | 1269 | #define PLATFORM_DRIVER ehci_msm_driver |
@@ -1315,6 +1310,7 @@ MODULE_LICENSE ("GPL"); | |||
1315 | !IS_ENABLED(CONFIG_USB_EHCI_MXC) && \ | 1310 | !IS_ENABLED(CONFIG_USB_EHCI_MXC) && \ |
1316 | !IS_ENABLED(CONFIG_USB_EHCI_HCD_OMAP) && \ | 1311 | !IS_ENABLED(CONFIG_USB_EHCI_HCD_OMAP) && \ |
1317 | !IS_ENABLED(CONFIG_USB_EHCI_HCD_ORION) && \ | 1312 | !IS_ENABLED(CONFIG_USB_EHCI_HCD_ORION) && \ |
1313 | !IS_ENABLED(CONFIG_USB_EHCI_HCD_SPEAR) && \ | ||
1318 | !defined(PLATFORM_DRIVER) && \ | 1314 | !defined(PLATFORM_DRIVER) && \ |
1319 | !defined(PS3_SYSTEM_BUS_DRIVER) && \ | 1315 | !defined(PS3_SYSTEM_BUS_DRIVER) && \ |
1320 | !defined(OF_PLATFORM_DRIVER) && \ | 1316 | !defined(OF_PLATFORM_DRIVER) && \ |