Orion: move I/O macros out of orion.h

Move the Orion register accessor macros out of orion.h, to prevent
them from ending up in the decompressor image (Orion uncompress.h
includes orion.h.)  Move them into io.h, which seems a better place
for this kind of stuff.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reviewed-by: Tzachi Perelstein <tzachi@marvell.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
diff --git a/arch/arm/mach-orion/addr-map.c b/arch/arm/mach-orion/addr-map.c
index ca641db..ecca987 100644
--- a/arch/arm/mach-orion/addr-map.c
+++ b/arch/arm/mach-orion/addr-map.c
@@ -14,6 +14,7 @@
 #include <linux/init.h>
 #include <linux/mbus.h>
 #include <asm/hardware.h>
+#include <asm/io.h>
 #include "common.h"
 
 /*
diff --git a/arch/arm/mach-orion/gpio.c b/arch/arm/mach-orion/gpio.c
index f713818c..5a7d9cc9 100644
--- a/arch/arm/mach-orion/gpio.c
+++ b/arch/arm/mach-orion/gpio.c
@@ -16,6 +16,7 @@
 #include <linux/spinlock.h>
 #include <linux/bitops.h>
 #include <asm/gpio.h>
+#include <asm/io.h>
 #include <asm/arch/orion.h>
 #include "common.h"
 
diff --git a/arch/arm/mach-orion/irq.c b/arch/arm/mach-orion/irq.c
index 855793a..dc8cb15 100644
--- a/arch/arm/mach-orion/irq.c
+++ b/arch/arm/mach-orion/irq.c
@@ -14,6 +14,7 @@
 #include <linux/init.h>
 #include <linux/irq.h>
 #include <asm/gpio.h>
+#include <asm/io.h>
 #include <asm/arch/orion.h>
 #include <asm/plat-orion/irq.h>
 #include "common.h"
diff --git a/include/asm-arm/arch-orion/io.h b/include/asm-arm/arch-orion/io.h
index e0b8c39..42abd29 100644
--- a/include/asm-arm/arch-orion/io.h
+++ b/include/asm-arm/arch-orion/io.h
@@ -24,4 +24,19 @@
 #define __io(a)			__io(a)
 #define __mem_pci(a)		(a)
 
+
+/*****************************************************************************
+ * Helpers to access Orion registers
+ ****************************************************************************/
+#define orion_read(r)		__raw_readl(r)
+#define orion_write(r, val)	__raw_writel(val, r)
+
+/*
+ * These are not preempt-safe.  Locks, if needed, must be taken
+ * care of by the caller.
+ */
+#define orion_setbits(r, mask)	orion_write((r), orion_read(r) | (mask))
+#define orion_clrbits(r, mask)	orion_write((r), orion_read(r) & ~(mask))
+
+
 #endif
diff --git a/include/asm-arm/arch-orion/orion.h b/include/asm-arm/arch-orion/orion.h
index 95f6708..d0b32c3 100644
--- a/include/asm-arm/arch-orion/orion.h
+++ b/include/asm-arm/arch-orion/orion.h
@@ -156,23 +156,5 @@
 
 #define TIMER_VIRT_BASE		(ORION_BRIDGE_VIRT_BASE | 0x300)
 
-#ifndef __ASSEMBLY__
 
-/*******************************************************************************
- * Helpers to access Orion registers
- ******************************************************************************/
-#include <asm/types.h>
-#include <asm/io.h>
-
-#define orion_read(r)		__raw_readl(r)
-#define orion_write(r, val)	__raw_writel(val, r)
-
-/*
- * These are not preempt safe. Locks, if needed, must be taken care by caller.
- */
-#define orion_setbits(r, mask)	orion_write((r), orion_read(r) | (mask))
-#define orion_clrbits(r, mask)	orion_write((r), orion_read(r) & ~(mask))
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* __ASM_ARCH_ORION_H__ */
+#endif