Commit a77af20e authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Felipe Balbi

usb: gadget: pxa25x_udc cleanup

This removes the dependency on the mach/hardware.h header file
from the pxa25x_udc driver after the register definitions were
already unified in the previous patch.

Following the model of pxa27x_udc (and basically all other drivers
in the kernel), we define the register numbers as offsets from
the register base address and use accessor functions to read/write
them.

For the moment, this still leaves the direct pointer dereference
in place, instead of using readl/writel, so this patch should
not be changing the behavior of the driver, other than using
ioremap() on the platform resource to replace the hardcoded
virtual address pointers.
Acked-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
parent c5418a0b
This diff is collapsed.
...@@ -56,9 +56,9 @@ struct pxa25x_ep { ...@@ -56,9 +56,9 @@ struct pxa25x_ep {
* UDDR = UDC Endpoint Data Register (the fifo) * UDDR = UDC Endpoint Data Register (the fifo)
* DRCM = DMA Request Channel Map * DRCM = DMA Request Channel Map
*/ */
volatile u32 *reg_udccs; u32 regoff_udccs;
volatile u32 *reg_ubcr; u32 regoff_ubcr;
volatile u32 *reg_uddr; u32 regoff_uddr;
}; };
struct pxa25x_request { struct pxa25x_request {
...@@ -197,6 +197,8 @@ dump_udccs0(const char *label) ...@@ -197,6 +197,8 @@ dump_udccs0(const char *label)
(udccs0 & UDCCS0_OPR) ? " opr" : ""); (udccs0 & UDCCS0_OPR) ? " opr" : "");
} }
static inline u32 udc_ep_get_UDCCS(struct pxa25x_ep *);
static void __maybe_unused static void __maybe_unused
dump_state(struct pxa25x_udc *dev) dump_state(struct pxa25x_udc *dev)
{ {
...@@ -228,7 +230,7 @@ dump_state(struct pxa25x_udc *dev) ...@@ -228,7 +230,7 @@ dump_state(struct pxa25x_udc *dev)
for (i = 1; i < PXA_UDC_NUM_ENDPOINTS; i++) { for (i = 1; i < PXA_UDC_NUM_ENDPOINTS; i++) {
if (dev->ep[i].ep.desc == NULL) if (dev->ep[i].ep.desc == NULL)
continue; continue;
DMSG ("udccs%d = %02x\n", i, *dev->ep->reg_udccs); DMSG ("udccs%d = %02x\n", i, udc_ep_get_UDCCS(&dev->ep[i]));
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment