aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-iop13xx/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-iop13xx/io.c')
-rw-r--r--arch/arm/mach-iop13xx/io.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/arch/arm/mach-iop13xx/io.c b/arch/arm/mach-iop13xx/io.c
index 48642e66c566..6dd5b4924107 100644
--- a/arch/arm/mach-iop13xx/io.c
+++ b/arch/arm/mach-iop13xx/io.c
@@ -40,8 +40,8 @@ void * __iomem __iop13xx_io(unsigned long io_addr)
40} 40}
41EXPORT_SYMBOL(__iop13xx_io); 41EXPORT_SYMBOL(__iop13xx_io);
42 42
43void * __iomem __iop13xx_ioremap(unsigned long cookie, size_t size, 43static void __iomem *__iop13xx_ioremap_caller(unsigned long cookie,
44 unsigned int mtype) 44 size_t size, unsigned int mtype, void *caller)
45{ 45{
46 void __iomem * retval; 46 void __iomem * retval;
47 47
@@ -76,17 +76,14 @@ void * __iomem __iop13xx_ioremap(unsigned long cookie, size_t size,
76 break; 76 break;
77 default: 77 default:
78 retval = __arm_ioremap_caller(cookie, size, mtype, 78 retval = __arm_ioremap_caller(cookie, size, mtype,
79 __builtin_return_address(0)); 79 caller);
80 } 80 }
81 81
82 return retval; 82 return retval;
83} 83}
84EXPORT_SYMBOL(__iop13xx_ioremap);
85 84
86void __iop13xx_iounmap(void __iomem *addr) 85static void __iop13xx_iounmap(volatile void __iomem *addr)
87{ 86{
88 extern void __iounmap(volatile void __iomem *addr);
89
90 if (iop13xx_atue_mem_base) 87 if (iop13xx_atue_mem_base)
91 if (addr >= (void __iomem *) iop13xx_atue_mem_base && 88 if (addr >= (void __iomem *) iop13xx_atue_mem_base &&
92 addr < (void __iomem *) (iop13xx_atue_mem_base + 89 addr < (void __iomem *) (iop13xx_atue_mem_base +
@@ -110,4 +107,9 @@ void __iop13xx_iounmap(void __iomem *addr)
110skip: 107skip:
111 return; 108 return;
112} 109}
113EXPORT_SYMBOL(__iop13xx_iounmap); 110
111void __init iop13xx_init_early(void)
112{
113 arch_ioremap_caller = __iop13xx_ioremap_caller;
114 arch_iounmap = __iop13xx_iounmap;
115}