Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+269 −199

File changed.

Preview size limit exceeded, changes collapsed.

+6 −4
Original line number Diff line number Diff line
@@ -56,9 +56,9 @@ struct pxa25x_ep {
	 * UDDR = UDC Endpoint Data Register (the fifo)
	 * DRCM = DMA Request Channel Map
	 */
	volatile u32				*reg_udccs;
	volatile u32				*reg_ubcr;
	volatile u32				*reg_uddr;
	u32					regoff_udccs;
	u32					regoff_ubcr;
	u32					regoff_uddr;
};

struct pxa25x_request {
@@ -197,6 +197,8 @@ dump_udccs0(const char *label)
		(udccs0 & UDCCS0_OPR) ? " opr" : "");
}

static inline u32 udc_ep_get_UDCCS(struct pxa25x_ep *);

static void __maybe_unused
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++) {
		if (dev->ep[i].ep.desc == NULL)
			continue;
		DMSG ("udccs%d = %02x\n", i, *dev->ep->reg_udccs);
		DMSG ("udccs%d = %02x\n", i, udc_ep_get_UDCCS(&dev->ep[i]));
	}
}