Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / arch / m68k / mm / kmap.c
index 5dcb3fa..85ad19a 100644 (file)
@@ -102,7 +102,7 @@ static inline void free_io_area(void *addr)
  */
 /* Rewritten by Andreas Schwab to remove all races. */
 
-void *__ioremap(unsigned long physaddr, unsigned long size, int cacheflag)
+void __iomem *__ioremap(unsigned long physaddr, unsigned long size, int cacheflag)
 {
        struct vm_struct *area;
        unsigned long virtaddr, retaddr;
@@ -121,7 +121,7 @@ void *__ioremap(unsigned long physaddr, unsigned long size, int cacheflag)
        if (MACH_IS_AMIGA) {
                if ((physaddr >= 0x40000000) && (physaddr + size < 0x60000000)
                    && (cacheflag == IOMAP_NOCACHE_SER))
-                       return (void *)physaddr;
+                       return (void __iomem *)physaddr;
        }
 #endif
 
@@ -201,7 +201,7 @@ void *__ioremap(unsigned long physaddr, unsigned long size, int cacheflag)
                        virtaddr += PTRTREESIZE;
                        size -= PTRTREESIZE;
                } else {
-                       pte_dir = pte_alloc_kernel(&init_mm, pmd_dir, virtaddr);
+                       pte_dir = pte_alloc_kernel(pmd_dir, virtaddr);
                        if (!pte_dir) {
                                printk("ioremap: no mem for pte_dir\n");
                                return NULL;
@@ -218,21 +218,21 @@ void *__ioremap(unsigned long physaddr, unsigned long size, int cacheflag)
 #endif
        flush_tlb_all();
 
-       return (void *)retaddr;
+       return (void __iomem *)retaddr;
 }
 
 /*
  * Unmap a ioremap()ed region again
  */
-void iounmap(void *addr)
+void iounmap(void __iomem *addr)
 {
 #ifdef CONFIG_AMIGA
        if ((!MACH_IS_AMIGA) ||
            (((unsigned long)addr < 0x40000000) ||
             ((unsigned long)addr > 0x60000000)))
-                       free_io_area(addr);
+                       free_io_area((__force void *)addr);
 #else
-       free_io_area(addr);
+       free_io_area((__force void *)addr);
 #endif
 }