]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mm/pgd.c
x86: use WARN() in arch/x86/kernel
[linux-2.6-omap-h63xx.git] / arch / arm / mm / pgd.c
index 50b9aed6000d8ede02f5df0175df8c8aa7e85c65..e0f19ab91163e589562d7b070f29d673fc9ef33f 100644 (file)
@@ -65,17 +65,17 @@ pgd_t *get_pgd_slow(struct mm_struct *mm)
        return new_pgd;
 
 no_pte:
-       pmd_free(new_pmd);
+       pmd_free(mm, new_pmd);
 no_pmd:
        free_pages((unsigned long)new_pgd, 2);
 no_pgd:
        return NULL;
 }
 
-void free_pgd_slow(pgd_t *pgd)
+void free_pgd_slow(struct mm_struct *mm, pgd_t *pgd)
 {
        pmd_t *pmd;
-       struct page *pte;
+       pgtable_t pte;
 
        if (!pgd)
                return;
@@ -90,12 +90,10 @@ void free_pgd_slow(pgd_t *pgd)
                goto free;
        }
 
-       pte = pmd_page(*pmd);
+       pte = pmd_pgtable(*pmd);
        pmd_clear(pmd);
-       dec_zone_page_state(virt_to_page((unsigned long *)pgd), NR_PAGETABLE);
-       pte_lock_deinit(pte);
-       pte_free(pte);
-       pmd_free(pmd);
+       pte_free(mm, pte);
+       pmd_free(mm, pmd);
 free:
        free_pages((unsigned long) pgd, 2);
 }