Pull novell-bugzilla-156426 into release branch
[pandora-kernel.git] / arch / parisc / mm / ioremap.c
index a5967b7..2738456 100644 (file)
@@ -2,7 +2,7 @@
  * arch/parisc/mm/ioremap.c
  *
  * (C) Copyright 1995 1996 Linus Torvalds
- * (C) Copyright 2001 Helge Deller <deller@gmx.de>
+ * (C) Copyright 2001-2006 Helge Deller <deller@gmx.de>
  * (C) Copyright 2005 Kyle McMartin <kyle@parisc-linux.org>
  */
 
@@ -135,11 +135,10 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l
 #ifdef CONFIG_EISA
        unsigned long end = phys_addr + size - 1;
        /* Support EISA addresses */
-       if ((phys_addr >= 0x00080000 && end < 0x000fffff)
-                       || (phys_addr >= 0x00500000 && end < 0x03bfffff)) {
-               phys_addr |= 0xfc000000;
-#warning "FIXME: EISA regions do not work yet..."
-               return NULL;  /* XXX */
+       if ((phys_addr >= 0x00080000 && end < 0x000fffff) ||
+           (phys_addr >= 0x00500000 && end < 0x03bfffff)) {
+               phys_addr |= F_EXTEND(0xfc000000);
+               flags |= _PAGE_NO_CACHE;
        }
 #endif
 
@@ -187,9 +186,11 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l
 
        return (void __iomem *) (offset + (char *)addr);
 }
+EXPORT_SYMBOL(__ioremap);
 
 void iounmap(void __iomem *addr)
 {
        if (addr > high_memory)
                return vfree((void *) (PAGE_MASK & (unsigned long __force) addr));
 }
+EXPORT_SYMBOL(iounmap);