[ARM] 5080/1: touch PSSR_OTGPH only on pxa27x in ohci-pxa27x and pxa27x_udc
authorPhilipp Zabel <philipp.zabel@gmail.com>
Fri, 6 Jun 2008 17:40:47 +0000 (18:40 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 15 Jun 2008 18:54:23 +0000 (19:54 +0100)
and include pxa2xx-regs.h as build fix since PSSR definitions
moved from pxa-regs.h into pxa2xx-regs.h.

Note: This change is temporary as pxa27x processor specific
code will be finally moved elsewhere (both drivers should
support pxa3xx, too).

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Acked-by: Eric Miao <eric.y.miao@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/usb/gadget/pxa27x_udc.c
drivers/usb/gadget/pxa27x_udc.h
drivers/usb/host/ohci-pxa27x.c

index 499b7a23f351275b0f55fc420f50f029fadcc515..40d6b580f15221b16896a551827703a6c7bf9703 100644 (file)
@@ -38,7 +38,7 @@
 #include <linux/usb.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
-
+#include <asm/arch/pxa2xx-regs.h> /* FIXME: for PSSR */
 #include <asm/arch/udc.h>
 
 #include "pxa27x_udc.h"
@@ -2359,7 +2359,8 @@ static int pxa_udc_resume(struct platform_device *_dev)
         * Software must configure the USB OTG pad, UDC, and UHC
         * to the state they were in before entering sleep mode.
         */
-       PSSR |= PSSR_OTGPH;
+       if (cpu_is_pxa27x())
+               PSSR |= PSSR_OTGPH;
 
        return 0;
 }
index 97453db924ff2bd869f6dadf89426ae71c76ff60..1d1b7936ee113fdb7a9ee7628fe104dff268fb7d 100644 (file)
@@ -484,12 +484,4 @@ static inline struct pxa_udc *to_gadget_udc(struct usb_gadget *gadget)
 #define ep_warn(ep, fmt, arg...) \
        dev_warn(ep->dev->dev, "%s:%s:" fmt, EPNAME(ep), __func__, ## arg)
 
-/*
- * Cannot include pxa-regs.h, as register names are similar.
- * So PSSR is redefined here. This should be removed once UDC registers will
- * be gone from pxa-regs.h.
- */
-#define PSSR           __REG(0x40F00004)       /* Power Manager Sleep Status */
-#define PSSR_OTGPH     (1 << 6)                /* OTG Peripheral Hold */
-
 #endif /* __LINUX_USB_GADGET_PXA27X_H */
index 70b0d4b459e753bf13ed622eb32fd7b458c9d38c..08b27d6bbd4331b459f001408db933fa0047655f 100644 (file)
@@ -27,6 +27,7 @@
 #include <asm/mach-types.h>
 #include <asm/hardware.h>
 #include <asm/arch/pxa-regs.h>
+#include <asm/arch/pxa2xx-regs.h> /* FIXME: for PSSR */
 #include <asm/arch/ohci.h>
 
 #define PXA_UHC_MAX_PORTNUM    3
@@ -104,7 +105,7 @@ static int pxa27x_start_hc(struct device *dev)
        UHCHIE = (UHCHIE_UPRIE | UHCHIE_RWIE);
 
        /* Clear any OTG Pin Hold */
-       if (PSSR & PSSR_OTGPH)
+       if (cpu_is_pxa27x() && (PSSR & PSSR_OTGPH))
                PSSR |= PSSR_OTGPH;
 
        return 0;