diff options
| author | Rob Herring <rob.herring@calxeda.com> | 2012-03-06 16:01:53 -0500 |
|---|---|---|
| committer | Rob Herring <rob.herring@calxeda.com> | 2012-03-06 22:23:18 -0500 |
| commit | f449588c65e23637aef59cae2ea7b6b2b1b767ec (patch) | |
| tree | 949645be2c09befa1fff16ed681161deb999b7cd /arch/arm/mach-ixp4xx/include | |
| parent | 1dfe34ae794c13b11192baac022826f9c53fe377 (diff) | |
ARM: ixp4xx: use runtime ioremap hook
Convert ixp4xx platforms to use run-time ioremap hook instead of the
compile time hook.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Imre Kaloz <kaloz@openwrt.org>
Cc: Krzysztof Halasa <khc@pm.waw.pl>
Diffstat (limited to 'arch/arm/mach-ixp4xx/include')
| -rw-r--r-- | arch/arm/mach-ixp4xx/include/mach/io.h | 18 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/include/mach/platform.h | 1 |
2 files changed, 1 insertions, 18 deletions
diff --git a/arch/arm/mach-ixp4xx/include/mach/io.h b/arch/arm/mach-ixp4xx/include/mach/io.h index ffb9d6afb89..6a520768e5e 100644 --- a/arch/arm/mach-ixp4xx/include/mach/io.h +++ b/arch/arm/mach-ixp4xx/include/mach/io.h | |||
| @@ -57,24 +57,6 @@ static inline int is_pci_memory(u32 addr) | |||
| 57 | return (addr >= PCIBIOS_MIN_MEM) && (addr <= 0x4FFFFFFF); | 57 | return (addr >= PCIBIOS_MIN_MEM) && (addr <= 0x4FFFFFFF); |
| 58 | } | 58 | } |
| 59 | 59 | ||
| 60 | static inline void __iomem * __indirect_ioremap(unsigned long addr, size_t size, | ||
| 61 | unsigned int mtype) | ||
| 62 | { | ||
| 63 | if (!is_pci_memory(addr)) | ||
| 64 | return __arm_ioremap(addr, size, mtype); | ||
| 65 | |||
| 66 | return (void __iomem *)addr; | ||
| 67 | } | ||
| 68 | |||
| 69 | static inline void __indirect_iounmap(void __iomem *addr) | ||
| 70 | { | ||
| 71 | if (!is_pci_memory((__force u32)addr)) | ||
| 72 | __iounmap(addr); | ||
| 73 | } | ||
| 74 | |||
| 75 | #define __arch_ioremap __indirect_ioremap | ||
| 76 | #define __arch_iounmap __indirect_iounmap | ||
| 77 | |||
| 78 | #define writeb(v, p) __indirect_writeb(v, p) | 60 | #define writeb(v, p) __indirect_writeb(v, p) |
| 79 | #define writew(v, p) __indirect_writew(v, p) | 61 | #define writew(v, p) __indirect_writew(v, p) |
| 80 | #define writel(v, p) __indirect_writel(v, p) | 62 | #define writel(v, p) __indirect_writel(v, p) |
diff --git a/arch/arm/mach-ixp4xx/include/mach/platform.h b/arch/arm/mach-ixp4xx/include/mach/platform.h index df9250bbf13..b66bedc64de 100644 --- a/arch/arm/mach-ixp4xx/include/mach/platform.h +++ b/arch/arm/mach-ixp4xx/include/mach/platform.h | |||
| @@ -121,6 +121,7 @@ extern unsigned long ixp4xx_timer_freq; | |||
| 121 | * Functions used by platform-level setup code | 121 | * Functions used by platform-level setup code |
| 122 | */ | 122 | */ |
| 123 | extern void ixp4xx_map_io(void); | 123 | extern void ixp4xx_map_io(void); |
| 124 | extern void ixp4xx_init_early(void); | ||
| 124 | extern void ixp4xx_init_irq(void); | 125 | extern void ixp4xx_init_irq(void); |
| 125 | extern void ixp4xx_sys_init(void); | 126 | extern void ixp4xx_sys_init(void); |
| 126 | extern void ixp4xx_timer_init(void); | 127 | extern void ixp4xx_timer_init(void); |
