[coldfire]: 2.6.31 support (WiP)
[openwrt/svn-archive/archive.git] / target / linux / coldfire / patches / 057-mcfv4e_add_mm_args.patch
1 From a2360b8ebb8b2b0d55f8aea3fdce51bce9b57b10 Mon Sep 17 00:00:00 2001
2 From: Kurt Mahan <kmahan@freescale.com>
3 Date: Thu, 15 May 2008 15:48:59 -0600
4 Subject: [PATCH] Add mm arg to pte/pmd/pud/pgd_free and add pmd_pgtable macro.
5
6 Add mm argument to pte/pmd/pud/pgd_free as per commit
7 5e5419734c8719cbc01af959ad9c0844002c0df5.
8
9 LTIBName: mcfv4e-add-mm-args
10 Signed-off-by: Kurt Mahan <kmahan@freescale.com>
11 ---
12 include/asm-m68k/cf_pgalloc.h | 10 ++++++----
13 1 files changed, 6 insertions(+), 4 deletions(-)
14
15 --- a/include/asm-m68k/cf_pgalloc.h
16 +++ b/include/asm-m68k/cf_pgalloc.h
17 @@ -6,7 +6,7 @@
18 #include <asm/cf_tlbflush.h>
19 #include <asm/cf_cacheflush.h>
20
21 -extern inline void pte_free_kernel(pte_t *pte)
22 +extern inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
23 {
24 free_page((unsigned long) pte);
25 }
26 @@ -40,6 +40,8 @@ extern inline pmd_t *pmd_alloc_kernel(pg
27
28 #define pmd_populate_kernel(mm, pmd, pte) (pmd_val(*pmd) = (unsigned long)(pte))
29
30 +#define pmd_pgtable(pmd) pmd_page(pmd)
31 +
32 static inline void __pte_free_tlb(struct mmu_gather *tlb, struct page *page)
33 {
34 __free_page(page);
35 @@ -68,7 +70,7 @@ static inline struct page *pte_alloc_one
36 return page;
37 }
38
39 -extern inline void pte_free(struct page *page)
40 +extern inline void pte_free(struct mm_struct *mm, struct page *page)
41 {
42 __free_page(page);
43 }
44 @@ -77,9 +79,9 @@ extern inline void pte_free(struct page
45 * In our implementation, each pgd entry contains 1 pmd that is never allocated
46 * or freed. pgd_present is always 1, so this should never be called. -NL
47 */
48 -#define pmd_free(pmd) BUG()
49 +#define pmd_free(mm, pmd) BUG()
50
51 -extern inline void pgd_free(pgd_t *pgd)
52 +extern inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
53 {
54 free_page((unsigned long) pgd);
55 }