include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit...
[linux-3.10.git] / arch / arm / mm / pgd.c
index 500c961..be5f58e 100644 (file)
@@ -8,6 +8,7 @@
  * published by the Free Software Foundation.
  */
 #include <linux/mm.h>
+#include <linux/gfp.h>
 #include <linux/highmem.h>
 
 #include <asm/pgalloc.h>
@@ -31,7 +32,7 @@ pgd_t *get_pgd_slow(struct mm_struct *mm)
        if (!new_pgd)
                goto no_pgd;
 
-       memzero(new_pgd, FIRST_KERNEL_PGD_NR * sizeof(pgd_t));
+       memset(new_pgd, 0, FIRST_KERNEL_PGD_NR * sizeof(pgd_t));
 
        /*
         * Copy over the kernel and IO PGD entries
@@ -75,7 +76,7 @@ no_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,10 +91,8 @@ void free_pgd_slow(struct mm_struct *mm, 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(mm, pte);
        pmd_free(mm, pmd);
 free: