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

usb: gadget: pxa25x_udc: document endianess better

When I wrote the cleanup patch series, it was not clear how
exactly big-endian mode works on ixp4xx, and whether the driver
was doing this correctly. After discussing with Krzysztof Hałasa,
this has been clarified, so I can update the comment let pxa25x
big-endian (which we don't support) work the same way as ixp4xx.
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
parent 62a6abdd
...@@ -289,14 +289,14 @@ static void pullup_on(void) ...@@ -289,14 +289,14 @@ static void pullup_on(void)
mach->udc_command(PXA2XX_UDC_CMD_CONNECT); mach->udc_command(PXA2XX_UDC_CMD_CONNECT);
} }
#if defined(CONFIG_ARCH_IXP4XX) && defined(CONFIG_CPU_BIG_ENDIAN) #if defined(CONFIG_CPU_BIG_ENDIAN)
/* /*
* not sure if this is the correct behavior on ixp4xx in both * IXP4xx has its buses wired up in a way that relies on never doing any
* bit-endian and little-endian modes, but it's what the driver * byte swaps, independent of whether it runs in big-endian or little-endian
* has always done using direct pointer dereferences: * mode, as explained by Krzysztof Hałasa.
* We assume that there is a byteswap done in hardware at the *
* MMIO register that matches what the CPU setting is, so we * We only support pxa25x in little-endian mode, but it is very likely
* never swap in software. * that it works the same way.
*/ */
static inline void udc_set_reg(struct pxa25x_udc *dev, u32 reg, u32 val) static inline void udc_set_reg(struct pxa25x_udc *dev, u32 reg, u32 val)
{ {
......
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