]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/asm-generic/io.h
Merge tag 'metag-v3.9-rc1-v4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan...
[karo-tx-linux.git] / include / asm-generic / io.h
index cc76b3ecd206d107a08165a85683cbe6a613295c..ac9da00e9f2c66b104029aa7b89253802708a322 100644 (file)
@@ -53,8 +53,18 @@ static inline u32 __raw_readl(const volatile void __iomem *addr)
 #endif
 
 #define readb __raw_readb
-#define readw(addr) __le16_to_cpu(__raw_readw(addr))
-#define readl(addr) __le32_to_cpu(__raw_readl(addr))
+
+#define readw readw
+static inline u16 readw(const volatile void __iomem *addr)
+{
+       return __le16_to_cpu(__raw_readw(addr));
+}
+
+#define readl readl
+static inline u32 readl(const volatile void __iomem *addr)
+{
+       return __le32_to_cpu(__raw_readl(addr));
+}
 
 #ifndef __raw_writeb
 static inline void __raw_writeb(u8 b, volatile void __iomem *addr)
@@ -89,7 +99,11 @@ static inline u64 __raw_readq(const volatile void __iomem *addr)
 }
 #endif
 
-#define readq(addr) __le64_to_cpu(__raw_readq(addr))
+#define readq readq
+static inline u64 readq(const volatile void __iomem *addr)
+{
+       return __le64_to_cpu(__raw_readq(addr));
+}
 
 #ifndef __raw_writeq
 static inline void __raw_writeq(u64 b, volatile void __iomem *addr)
@@ -225,15 +239,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 ioread16be(addr)       __be16_to_cpu(__raw_readw(addr))
 #define ioread32(addr)         readl(addr)
-#define ioread32be(addr)       be32_to_cpu(ioread32(addr))
+#define ioread32be(addr)       __be32_to_cpu(__raw_readl(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 iowrite16be(v, addr)   __raw_writew(__cpu_to_be16(v), addr)
 #define iowrite32(v, addr)     writel((v), (addr))
-#define iowrite32be(v, addr)   iowrite32(be32_to_cpu(v), (addr))
+#define iowrite32be(v, addr)   __raw_writel(__cpu_to_be32(v), addr)
 
 #define ioread8_rep(p, dst, count) \
        insb((unsigned long) (p), (dst), (count))