#include <linux/init.h>
 #include <linux/mbus.h>
 #include <asm/hardware.h>
+#include <asm/io.h>
 #include "common.h"
 
 /*
 
 #include <linux/spinlock.h>
 #include <linux/bitops.h>
 #include <asm/gpio.h>
+#include <asm/io.h>
 #include <asm/arch/orion.h>
 #include "common.h"
 
 
 #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"
 
 #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
 
 
 #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