From 2e6a88f2101d608800d00183a3aceceee44d9fb0 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 22 Sep 2011 19:40:07 +0200 Subject: add cpu native ordered io accessors There are no generic native ordered io accessors. This sometimes leads to v = in_be32(a); v = readl(a); in generic drivers. Instead, use io accessors which are explicitely native ordered. Signed-off-by: Sascha Hauer --- include/io.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'include') diff --git a/include/io.h b/include/io.h index 8eb56b061f..39b5e614b7 100644 --- a/include/io.h +++ b/include/io.h @@ -3,4 +3,21 @@ #include +/* 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 + #endif /* __IO_H */ -- cgit v1.2.3