diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-09-22 19:40:07 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-09-23 16:32:48 +0200 |
commit | 2e6a88f2101d608800d00183a3aceceee44d9fb0 (patch) | |
tree | 6474b97fd60a7ab74b90cadcb8bca053c5fad690 /include/io.h | |
parent | d97b9ffdb3b6cd7feb70fae430cc2abb005815db (diff) | |
download | barebox-2e6a88f2101d608800d00183a3aceceee44d9fb0.tar.gz barebox-2e6a88f2101d608800d00183a3aceceee44d9fb0.tar.xz |
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 <s.hauer@pengutronix.de>
Diffstat (limited to 'include/io.h')
-rw-r--r-- | include/io.h | 17 |
1 files changed, 17 insertions, 0 deletions
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 <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 + #endif /* __IO_H */ |