RFC: Fix big endian MMIO primitives.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux