]> 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 8e260cf0135109384559ecadb9ad536296b2d298..ac9da00e9f2c66b104029aa7b89253802708a322 100644 (file)
@@ -239,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))
@@ -346,6 +346,7 @@ extern void ioport_unmap(void __iomem *p);
 #define xlate_dev_kmem_ptr(p)  p
 #define xlate_dev_mem_ptr(p)   __va(p)
 
+#ifdef CONFIG_VIRT_TO_BUS
 #ifndef virt_to_bus
 static inline unsigned long virt_to_bus(volatile void *address)
 {
@@ -357,6 +358,7 @@ static inline void *bus_to_virt(unsigned long address)
        return (void *) address;
 }
 #endif
+#endif
 
 #ifndef memset_io
 #define memset_io(a, b, c)     memset(__io_virt(a), (b), (c))