RFC: Fix big endian MMIO primitives.

Krzysztof Halasa khc at pm.waw.pl
Sun May 6 14:01:58 EDT 2012

Sascha Hauer <s.hauer at pengutronix.de> writes:

> Maybe we should rather use the __raw_* variants in the cfi driver aswell
> which is the only user of the functions below.

We can do that for the sake of compatibility with Linux.

> For some reason I
> believed that the __raw_* variants also do little endian accesses which
> is wrong.
> I don't like the naming of the __raw_* variants very much as the
> underscores and 'raw' suggests that these are internal functions which
> one should rather not use, but in fact these are the correct functions
> in most SoC (non PCI) drivers. Anyway, since Linux has this functions we
> should use them aswell, everything else probably leads to more
> confusion.

I don't know.

I would rename:
__raw_* -> cpu_*() as they are just plain and simple accessors with
native endianness.

readl() and friends -> le32_readl() etc.
The 'l' is somewhat redundant, the size is already determined by '32'
(and 16, 8). Maybe le32_read() or read_le32()?

Your call. We can just limit this renaming to cpu_* -> __raw_*.

To be honest, I would like this stuff renamed in Linux as well. Perhaps
some day.
Krzysztof Halasa

More information about the barebox mailing list