Browse Source

ARM: ebsa110: use runtime ioremap hook

Convert ebsa110 platforms to use run-time ioremap hook instead of the
compile time hook.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Rob Herring 13 years ago
parent
commit
ed5bf6e884
2 changed files with 15 additions and 9 deletions
  1. 15 0
      arch/arm/mach-ebsa110/core.c
  2. 0 9
      arch/arm/mach-ebsa110/include/mach/io.h

+ 15 - 0
arch/arm/mach-ebsa110/core.c

@@ -119,6 +119,20 @@ static void __init ebsa110_map_io(void)
 	iotable_init(ebsa110_io_desc, ARRAY_SIZE(ebsa110_io_desc));
 	iotable_init(ebsa110_io_desc, ARRAY_SIZE(ebsa110_io_desc));
 }
 }
 
 
+static void __iomem *ebsa110_ioremap_caller(unsigned long cookie, size_t size,
+					    unsigned int flags, void *caller)
+{
+	return (void __iomem *)cookie;
+}
+
+static void ebsa110_iounmap(volatile void __iomem *io_addr)
+{}
+
+static void __init ebsa110_init_early(void)
+{
+	arch_ioremap_caller = ebsa110_ioremap_caller;
+	arch_iounmap = ebsa110_iounmap;
+}
 
 
 #define PIT_CTRL		(PIT_BASE + 0x0d)
 #define PIT_CTRL		(PIT_BASE + 0x0d)
 #define PIT_T2			(PIT_BASE + 0x09)
 #define PIT_T2			(PIT_BASE + 0x09)
@@ -315,6 +329,7 @@ MACHINE_START(EBSA110, "EBSA110")
 	.reserve_lp2	= 1,
 	.reserve_lp2	= 1,
 	.restart_mode	= 's',
 	.restart_mode	= 's',
 	.map_io		= ebsa110_map_io,
 	.map_io		= ebsa110_map_io,
+	.init_early	= ebsa110_init_early,
 	.init_irq	= ebsa110_init_irq,
 	.init_irq	= ebsa110_init_irq,
 	.timer		= &ebsa110_timer,
 	.timer		= &ebsa110_timer,
 	.restart	= ebsa110_restart,
 	.restart	= ebsa110_restart,

+ 0 - 9
arch/arm/mach-ebsa110/include/mach/io.h

@@ -62,15 +62,6 @@ void __writel(u32 val, void __iomem *addr);
 #define writew(v,b)		__writew(v,b)
 #define writew(v,b)		__writew(v,b)
 #define writel(v,b)		__writel(v,b)
 #define writel(v,b)		__writel(v,b)
 
 
-static inline void __iomem *__arch_ioremap(unsigned long cookie, size_t size,
-					   unsigned int flags)
-{
-	return (void __iomem *)cookie;
-}
-
-#define __arch_ioremap		__arch_ioremap
-#define __arch_iounmap(cookie)	do { } while (0)
-
 extern void insb(unsigned int port, void *buf, int sz);
 extern void insb(unsigned int port, void *buf, int sz);
 extern void insw(unsigned int port, void *buf, int sz);
 extern void insw(unsigned int port, void *buf, int sz);
 extern void insl(unsigned int port, void *buf, int sz);
 extern void insl(unsigned int port, void *buf, int sz);