Delete duplicate copy of fixrange_init.
authorRalf Baechle <ralf@linux-mips.org>
Mon, 7 Feb 2005 16:13:07 +0000 (16:13 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Sat, 29 Oct 2005 18:30:28 +0000 (19:30 +0100)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/mm/init.c
arch/mips/mm/pgtable-32.c
include/asm-mips/fixmap.h

index dc6830b10fab774fde2a19cdfbdc1b400df14ead..77cbccaff955c17ce6ab4cebf3998e51012cd1ea 100644 (file)
@@ -96,8 +96,8 @@ static void __init kmap_init(void)
        kmap_prot = PAGE_KERNEL;
 }
 
-#ifdef CONFIG_64BIT
-static void __init fixrange_init(unsigned long start, unsigned long end,
+#ifdef CONFIG_32BIT
+void __init fixrange_init(unsigned long start, unsigned long end,
        pgd_t *pgd_base)
 {
        pgd_t *pgd;
index 4f07f81e8500da3533aa241acc06b599b0074f99..74492618f2aef3c3d1c1f67d262ae52d516d3170 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/mm.h>
 #include <linux/bootmem.h>
 #include <linux/highmem.h>
+#include <asm/fixmap.h>
 #include <asm/pgtable.h>
 
 void pgd_init(unsigned long page)
@@ -29,37 +30,6 @@ void pgd_init(unsigned long page)
        }
 }
 
-#ifdef CONFIG_HIGHMEM
-static void __init fixrange_init (unsigned long start, unsigned long end,
-       pgd_t *pgd_base)
-{
-       pgd_t *pgd;
-       pmd_t *pmd;
-       pte_t *pte;
-       int i, j;
-       unsigned long vaddr;
-
-       vaddr = start;
-       i = __pgd_offset(vaddr);
-       j = __pmd_offset(vaddr);
-       pgd = pgd_base + i;
-
-       for ( ; (i < PTRS_PER_PGD) && (vaddr != end); pgd++, i++) {
-               pmd = (pmd_t *)pgd;
-               for (; (j < PTRS_PER_PMD) && (vaddr != end); pmd++, j++) {
-                       if (pmd_none(*pmd)) {
-                               pte = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE);
-                               set_pmd(pmd, __pmd((unsigned long)pte));
-                               if (pte != pte_offset_kernel(pmd, 0))
-                                       BUG();
-                       }
-                       vaddr += PMD_SIZE;
-               }
-               j = 0;
-       }
-}
-#endif
-
 void __init pagetable_init(void)
 {
 #ifdef CONFIG_HIGHMEM
index 26b6a90a690bbbd472e8f136f882c0cfc1302106..73a3028dd9f9785ad089f3556d8dbed5f766675d 100644 (file)
@@ -107,4 +107,11 @@ static inline unsigned long virt_to_fix(const unsigned long vaddr)
        return __virt_to_fix(vaddr);
 }
 
+/*
+ * Called from pgtable_init()
+ */
+extern void fixrange_init(unsigned long start, unsigned long end,
+        pgd_t *pgd_base);
+
+
 #endif