* (see walk_page_range for more details)
  */
 struct mm_walk {
-       int (*pgd_entry)(pgd_t *, unsigned long, unsigned long, struct mm_walk *);
-       int (*pud_entry)(pud_t *, unsigned long, unsigned long, struct mm_walk *);
-       int (*pmd_entry)(pmd_t *, unsigned long, unsigned long, struct mm_walk *);
-       int (*pte_entry)(pte_t *, unsigned long, unsigned long, struct mm_walk *);
-       int (*pte_hole)(unsigned long, unsigned long, struct mm_walk *);
-       int (*hugetlb_entry)(pte_t *, unsigned long,
-                            unsigned long, unsigned long, struct mm_walk *);
+       int (*pgd_entry)(pgd_t *pgd, unsigned long addr,
+                        unsigned long next, struct mm_walk *walk);
+       int (*pud_entry)(pud_t *pud, unsigned long addr,
+                        unsigned long next, struct mm_walk *walk);
+       int (*pmd_entry)(pmd_t *pmd, unsigned long addr,
+                        unsigned long next, struct mm_walk *walk);
+       int (*pte_entry)(pte_t *pte, unsigned long addr,
+                        unsigned long next, struct mm_walk *walk);
+       int (*pte_hole)(unsigned long addr, unsigned long next,
+                       struct mm_walk *walk);
+       int (*hugetlb_entry)(pte_t *pte, unsigned long hmask,
+                            unsigned long addr, unsigned long next,
+                            struct mm_walk *walk);
        struct mm_struct *mm;
        void *private;
 };