diff options
author | Eric Miao <eric.miao@marvell.com> | 2008-10-04 00:45:39 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-07 14:12:58 -0400 |
commit | 0cb0b0d3c6ebb8215500685a1f70a45bbbdc8e47 (patch) | |
tree | cd19d09b768377f0db57fa52bb70fa9b03431520 /drivers/usb | |
parent | 84bab7393b0da5086e133b7f333b800d26f7166b (diff) |
[ARM] ohci-pxa27x: introduce pxa27x_clear_otgph()
Direct access to pxa27x specific register PSSR in a generic ohci driver
is no good, introduce pxa27x_clear_otgph() and move the implementation
into processor specific code.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/ohci-pxa27x.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c index 8530c6e9b770..1fd77933a4c6 100644 --- a/drivers/usb/host/ohci-pxa27x.c +++ b/drivers/usb/host/ohci-pxa27x.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <linux/clk.h> | 25 | #include <linux/clk.h> |
26 | 26 | ||
27 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
28 | #include <mach/pxa2xx-regs.h> /* FIXME: for PSSR */ | ||
29 | #include <mach/ohci.h> | 28 | #include <mach/ohci.h> |
30 | 29 | ||
31 | /* | 30 | /* |
@@ -182,6 +181,12 @@ static inline void pxa27x_setup_hc(struct pxaohci_platform_data *inf) | |||
182 | UHCRHDA = uhcrhda; | 181 | UHCRHDA = uhcrhda; |
183 | } | 182 | } |
184 | 183 | ||
184 | #ifdef CONFIG_CPU_PXA27x | ||
185 | extern void pxa27x_clear_otgph(void); | ||
186 | #else | ||
187 | #define pxa27x_clear_otgph() do {} while (0) | ||
188 | #endif | ||
189 | |||
185 | static int pxa27x_start_hc(struct device *dev) | 190 | static int pxa27x_start_hc(struct device *dev) |
186 | { | 191 | { |
187 | int retval = 0; | 192 | int retval = 0; |
@@ -212,9 +217,7 @@ static int pxa27x_start_hc(struct device *dev) | |||
212 | UHCHIE = (UHCHIE_UPRIE | UHCHIE_RWIE); | 217 | UHCHIE = (UHCHIE_UPRIE | UHCHIE_RWIE); |
213 | 218 | ||
214 | /* Clear any OTG Pin Hold */ | 219 | /* Clear any OTG Pin Hold */ |
215 | if (cpu_is_pxa27x() && (PSSR & PSSR_OTGPH)) | 220 | pxa27x_clear_otgph(); |
216 | PSSR |= PSSR_OTGPH; | ||
217 | |||
218 | return 0; | 221 | return 0; |
219 | } | 222 | } |
220 | 223 | ||