aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/mm
diff options
context:
space:
mode:
authorHelge Deller <deller@parisc-linux.org>2006-03-23 02:32:46 -0500
committerKyle McMartin <kyle@hera.kernel.org>2006-03-30 12:48:48 -0500
commit29ef8295327653ff09a56285c35213cd31fa54b3 (patch)
treef438a0a36fcde67c3ea6db45b1400c29eb9366be /arch/parisc/mm
parent857600c77161fd36e30cd6bcca9a0a8676036323 (diff)
[PARISC] Enable ioremap functionality unconditionally
Enable CONFIG_HPPA_IOREMAP by default and remove all now unnecessary code. Signed-off-by: Helge Deller <deller@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc/mm')
-rw-r--r--arch/parisc/mm/ioremap.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/arch/parisc/mm/ioremap.c b/arch/parisc/mm/ioremap.c
index 028772144191..5a22e1cab217 100644
--- a/arch/parisc/mm/ioremap.c
+++ b/arch/parisc/mm/ioremap.c
@@ -72,7 +72,6 @@ remap_area_pmd(pmd_t *pmd, unsigned long address, unsigned long size,
72 return 0; 72 return 0;
73} 73}
74 74
75#ifdef CONFIG_HPPA_IOREMAP
76static int 75static int
77remap_area_pages(unsigned long address, unsigned long phys_addr, 76remap_area_pages(unsigned long address, unsigned long phys_addr,
78 unsigned long size, unsigned long flags) 77 unsigned long size, unsigned long flags)
@@ -114,7 +113,6 @@ remap_area_pages(unsigned long address, unsigned long phys_addr,
114 113
115 return error; 114 return error;
116} 115}
117#endif /* CONFIG_HPPA_IOREMAP */
118 116
119#ifdef CONFIG_DEBUG_IOREMAP 117#ifdef CONFIG_DEBUG_IOREMAP
120static unsigned long last = 0; 118static unsigned long last = 0;
@@ -154,21 +152,16 @@ EXPORT_SYMBOL(__raw_bad_addr);
154 */ 152 */
155void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags) 153void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)
156{ 154{
157#if !defined(CONFIG_HPPA_IOREMAP) 155#ifdef CONFIG_EISA
156 #error FIXME.
158 unsigned long end = phys_addr + size - 1; 157 unsigned long end = phys_addr + size - 1;
159 /* Support EISA addresses */ 158 /* Support EISA addresses */
160 if ((phys_addr >= 0x00080000 && end < 0x000fffff) 159 if ((phys_addr >= 0x00080000 && end < 0x000fffff)
161 || (phys_addr >= 0x00500000 && end < 0x03bfffff)) { 160 || (phys_addr >= 0x00500000 && end < 0x03bfffff)) {
162 phys_addr |= 0xfc000000; 161 phys_addr |= 0xfc000000;
163 } 162 }
164
165#ifdef CONFIG_DEBUG_IOREMAP
166 return (void __iomem *)(phys_addr - (0x1UL << NYBBLE_SHIFT));
167#else
168 return (void __iomem *)phys_addr;
169#endif 163#endif
170 164
171#else
172 void *addr; 165 void *addr;
173 struct vm_struct *area; 166 struct vm_struct *area;
174 unsigned long offset, last_addr; 167 unsigned long offset, last_addr;
@@ -216,15 +209,10 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l
216 } 209 }
217 210
218 return (void __iomem *) (offset + (char *)addr); 211 return (void __iomem *) (offset + (char *)addr);
219#endif
220} 212}
221 213
222void iounmap(void __iomem *addr) 214void iounmap(void __iomem *addr)
223{ 215{
224#ifdef CONFIG_HPPA_IOREMAP
225 if (addr > high_memory) 216 if (addr > high_memory)
226 return vfree((void *) (PAGE_MASK & (unsigned long __force) addr)); 217 return vfree((void *) (PAGE_MASK & (unsigned long __force) addr));
227#else
228 return;
229#endif
230} 218}