asm-generic/io.h: add big endian versions of io{read,write}{16,32}
Mike Frysinger [Tue, 10 Aug 2010 00:20:17 +0000 (17:20 -0700)]
The asm-generic/iomap.h provides these functions already, but the
non-generic fallback defines do not.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

include/asm-generic/io.h

index bcee636..118601f 100644 (file)
@@ -188,11 +188,15 @@ static inline void outsl(unsigned long addr, const void *buffer, int count)
 #ifndef CONFIG_GENERIC_IOMAP
 #define ioread8(addr)          readb(addr)
 #define ioread16(addr)         readw(addr)
+#define ioread16be(addr)       be16_to_cpu(ioread16(addr))
 #define ioread32(addr)         readl(addr)
+#define ioread32be(addr)       be32_to_cpu(ioread32(addr))
 
 #define iowrite8(v, addr)      writeb((v), (addr))
 #define iowrite16(v, addr)     writew((v), (addr))
+#define iowrite16be(v, addr)   iowrite16(be16_to_cpu(v), (addr))
 #define iowrite32(v, addr)     writel((v), (addr))
+#define iowrite32be(v, addr)   iowrite32(be32_to_cpu(v), (addr))
 
 #define ioread8_rep(p, dst, count) \
        insb((unsigned long) (p), (dst), (count))