Browse Source

ARM: Integrator: allow IO_ADDRESS() to be used for register addresses

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King 15 years ago
parent
commit
7d60a044c8
1 changed files with 7 additions and 7 deletions
  1. 7 7
      arch/arm/mach-integrator/include/mach/hardware.h

+ 7 - 7
arch/arm/mach-integrator/include/mach/hardware.h

@@ -35,18 +35,18 @@
 #define PCIO_BASE		PCI_IO_VADDR
 #define PCIMEM_BASE		PCI_MEMORY_VADDR
 
-#ifdef CONFIG_MMU
-/* macro to get at IO space when running virtually */
-#define IO_ADDRESS(x) (((x) >> 4) + IO_BASE) 
-#else
-#define IO_ADDRESS(x) (x)
-#endif
-
 #define pcibios_assign_all_busses()	1
 
 #define PCIBIOS_MIN_IO		0x6000
 #define PCIBIOS_MIN_MEM 	0x00100000
 
+/* macro to get at IO space when running virtually */
+#ifdef CONFIG_MMU
+#define IO_ADDRESS(x)	(((x) & 0x000fffff) | (((x) >> 4) & 0x0ff00000) | IO_BASE)
+#else
+#define IO_ADDRESS(x)	(x)
+#endif
+
 #define __io_address(n)		((void __iomem *)IO_ADDRESS(n))
 
 #endif