|
@@ -61,6 +61,8 @@
|
|
|
#include <linux/swapops.h>
|
|
|
#include <linux/elf.h>
|
|
|
|
|
|
+#include "internal.h"
|
|
|
+
|
|
|
#ifndef CONFIG_NEED_MULTIPLE_NODES
|
|
|
/* use the per-pgdat data instead for discontigmem - mbligh */
|
|
|
unsigned long max_mapnr;
|
|
@@ -211,7 +213,7 @@ static inline void free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,
|
|
|
*
|
|
|
* Must be called with pagetable lock held.
|
|
|
*/
|
|
|
-void free_pgd_range(struct mmu_gather **tlb,
|
|
|
+void free_pgd_range(struct mmu_gather *tlb,
|
|
|
unsigned long addr, unsigned long end,
|
|
|
unsigned long floor, unsigned long ceiling)
|
|
|
{
|
|
@@ -262,16 +264,16 @@ void free_pgd_range(struct mmu_gather **tlb,
|
|
|
return;
|
|
|
|
|
|
start = addr;
|
|
|
- pgd = pgd_offset((*tlb)->mm, addr);
|
|
|
+ pgd = pgd_offset(tlb->mm, addr);
|
|
|
do {
|
|
|
next = pgd_addr_end(addr, end);
|
|
|
if (pgd_none_or_clear_bad(pgd))
|
|
|
continue;
|
|
|
- free_pud_range(*tlb, pgd, addr, next, floor, ceiling);
|
|
|
+ free_pud_range(tlb, pgd, addr, next, floor, ceiling);
|
|
|
} while (pgd++, addr = next, addr != end);
|
|
|
}
|
|
|
|
|
|
-void free_pgtables(struct mmu_gather **tlb, struct vm_area_struct *vma,
|
|
|
+void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *vma,
|
|
|
unsigned long floor, unsigned long ceiling)
|
|
|
{
|
|
|
while (vma) {
|