Hexagon: add IOMEM and _relaxed IO macros
authorRichard Kuo <rkuo@codeaurora.org>
Fri, 1 Mar 2013 19:16:15 +0000 (13:16 -0600)
committerRichard Kuo <rkuo@codeaurora.org>
Wed, 1 May 2013 00:40:25 +0000 (19:40 -0500)
Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
arch/hexagon/include/asm/io.h

index e527cfeff5bac6dd18473deb1930ffc77034c13f..6199ed5f064b011b8ef91a79c2b3915e03293396 100644 (file)
@@ -40,6 +40,8 @@
 #define IO_SPACE_LIMIT 0xffff
 #define _IO_BASE ((void __iomem *)0xfe000000)
 
+#define IOMEM(x)        ((void __force __iomem *)(x))
+
 extern int remap_area_pages(unsigned long start, unsigned long phys_addr,
                                unsigned long end, unsigned long flags);
 
@@ -175,6 +177,18 @@ static inline void writel(u32 data, volatile void __iomem *addr)
 #define __raw_readw readw
 #define __raw_readl readl
 
+/*
+ * http://comments.gmane.org/gmane.linux.ports.arm.kernel/117626
+ */
+
+#define readb_relaxed __raw_readb
+#define readw_relaxed __raw_readw
+#define readl_relaxed __raw_readl
+
+#define writeb_relaxed __raw_writeb
+#define writew_relaxed __raw_writew
+#define writel_relaxed __raw_writel
+
 /*
  * Need an mtype somewhere in here, for cache type deals?
  * This is probably too long for an inline.