On Sat, May 05, 2012 at 11:34:13PM +0200, Krzysztof Halasa wrote: > cpu_read*() and cpu_wrire*() are precisely equal to __raw_read*() and > __raw_write*(). > > Striving for correctness we can replace all those __raw_*() with cpu_*() > as that's exactly what the former ones do. Also we can change read*() > and write*() into explicit leXX_*(). Both changes could affect porting > from Linux, though. Maybe we should rather use the __raw_* variants in the cfi driver aswell which is the only user of the functions below. 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. Sascha > > Signed-off-by: Krzysztof Hałasa <khc@xxxxxxxxx> > > diff --git a/include/io.h b/include/io.h > index 39b5e61..8d885de 100644 > --- a/include/io.h > +++ b/include/io.h > @@ -4,20 +4,11 @@ > #include <asm/io.h> > > /* cpu_read/cpu_write: cpu native io accessors */ > -#if __BYTE_ORDER == __BIG_ENDIAN > -#define cpu_readb(a) readb(a) > -#define cpu_readw(a) in_be16(a) > -#define cpu_readl(a) in_be32(a) > -#define cpu_writeb(v, a) writeb((v), (a)) > -#define cpu_writew(v, a) out_be16((a), (v)) > -#define cpu_writel(v, a) out_be32((a), (v)) > -#else > -#define cpu_readb(a) readb(a) > -#define cpu_readw(a) readw(a) > -#define cpu_readl(a) readl(a) > -#define cpu_writeb(v, a) writeb((v), (a)) > -#define cpu_writew(v, a) writew((v), (a)) > -#define cpu_writel(v, a) writel((v), (a)) > -#endif > +#define cpu_readb(a) __raw_readb(a) > +#define cpu_readw(a) __raw_readw(a) > +#define cpu_readl(a) __raw_readl(a) > +#define cpu_writeb(v, a) __raw_writeb((v), (a)) > +#define cpu_writew(v, a) __raw_writew((v), (a)) > +#define cpu_writel(v, a) __raw_writel((v), (a)) > > #endif /* __IO_H */ > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox