summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHelge Deller <deller@parisc-linux.org>2006-03-23 08:32:46 +0100
committerKyle McMartin <kyle@hera.kernel.org>2006-03-30 19:48:48 +0200
commit29ef8295327653ff09a56285c35213cd31fa54b3 (patch)
treef438a0a36fcde67c3ea6db45b1400c29eb9366be /arch
parent[PARISC] Fix stifb with IOREMAP and a 64-bit kernel (diff)
downloadlinux-29ef8295327653ff09a56285c35213cd31fa54b3.tar.xz
linux-29ef8295327653ff09a56285c35213cd31fa54b3.zip
[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')
-rw-r--r--arch/parisc/Kconfig11
-rw-r--r--arch/parisc/mm/ioremap.c16
2 files changed, 2 insertions, 25 deletions
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index fc5755d1db57..6b3c50964ca9 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -138,17 +138,6 @@ config 64BIT
enable this option otherwise. The 64bit kernel is significantly bigger
and slower than the 32bit one.
-config HPPA_IOREMAP
- bool "Enable IOREMAP functionality (EXPERIMENTAL)"
- depends on EXPERIMENTAL
- default n
- help
- Enable this option if you want to enable real IOREMAPPING on PA-RISC.
- Currently we just "simulate" I/O remapping, and enabling this option
- will just crash your machine.
-
- Say N here, unless you are a real PA-RISC Linux kernel hacker.
-
config SMP
bool "Symmetric multi-processing support"
---help---
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,
return 0;
}
-#ifdef CONFIG_HPPA_IOREMAP
static int
remap_area_pages(unsigned long address, unsigned long phys_addr,
unsigned long size, unsigned long flags)
@@ -114,7 +113,6 @@ remap_area_pages(unsigned long address, unsigned long phys_addr,
return error;
}
-#endif /* CONFIG_HPPA_IOREMAP */
#ifdef CONFIG_DEBUG_IOREMAP
static unsigned long last = 0;
@@ -154,21 +152,16 @@ EXPORT_SYMBOL(__raw_bad_addr);
*/
void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)
{
-#if !defined(CONFIG_HPPA_IOREMAP)
+#ifdef CONFIG_EISA
+ #error FIXME.
unsigned long end = phys_addr + size - 1;
/* Support EISA addresses */
if ((phys_addr >= 0x00080000 && end < 0x000fffff)
|| (phys_addr >= 0x00500000 && end < 0x03bfffff)) {
phys_addr |= 0xfc000000;
}
-
-#ifdef CONFIG_DEBUG_IOREMAP
- return (void __iomem *)(phys_addr - (0x1UL << NYBBLE_SHIFT));
-#else
- return (void __iomem *)phys_addr;
#endif
-#else
void *addr;
struct vm_struct *area;
unsigned long offset, last_addr;
@@ -216,15 +209,10 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l
}
return (void __iomem *) (offset + (char *)addr);
-#endif
}
void iounmap(void __iomem *addr)
{
-#ifdef CONFIG_HPPA_IOREMAP
if (addr > high_memory)
return vfree((void *) (PAGE_MASK & (unsigned long __force) addr));
-#else
- return;
-#endif
}