diff options
author | Eric Miao <eric.miao@marvell.com> | 2008-10-04 08:45:39 +0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-07 22:12:58 +0400 |
commit | 0cb0b0d3c6ebb8215500685a1f70a45bbbdc8e47 (patch) | |
tree | cd19d09b768377f0db57fa52bb70fa9b03431520 /drivers/usb | |
parent | 84bab7393b0da5086e133b7f333b800d26f7166b (diff) | |
download | linux-0cb0b0d3c6ebb8215500685a1f70a45bbbdc8e47.tar.xz |
[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 @@ #include <linux/clk.h> #include <mach/hardware.h> -#include <mach/pxa2xx-regs.h> /* FIXME: for PSSR */ #include <mach/ohci.h> /* @@ -182,6 +181,12 @@ static inline void pxa27x_setup_hc(struct pxaohci_platform_data *inf) UHCRHDA = uhcrhda; } +#ifdef CONFIG_CPU_PXA27x +extern void pxa27x_clear_otgph(void); +#else +#define pxa27x_clear_otgph() do {} while (0) +#endif + static int pxa27x_start_hc(struct device *dev) { int retval = 0; @@ -212,9 +217,7 @@ static int pxa27x_start_hc(struct device *dev) UHCHIE = (UHCHIE_UPRIE | UHCHIE_RWIE); /* Clear any OTG Pin Hold */ - if (cpu_is_pxa27x() && (PSSR & PSSR_OTGPH)) - PSSR |= PSSR_OTGPH; - + pxa27x_clear_otgph(); return 0; } |