aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/mm/sun4c.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/mm/sun4c.c')
-rw-r--r--arch/sparc/mm/sun4c.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/arch/sparc/mm/sun4c.c b/arch/sparc/mm/sun4c.c
index 0729305f2f59..c0442e8c4b15 100644
--- a/arch/sparc/mm/sun4c.c
+++ b/arch/sparc/mm/sun4c.c
@@ -1947,12 +1947,17 @@ static pte_t *sun4c_pte_alloc_one_kernel(struct mm_struct *mm, unsigned long add
1947 return pte; 1947 return pte;
1948} 1948}
1949 1949
1950static struct page *sun4c_pte_alloc_one(struct mm_struct *mm, unsigned long address) 1950static pgtable_t sun4c_pte_alloc_one(struct mm_struct *mm, unsigned long address)
1951{ 1951{
1952 pte_t *pte = sun4c_pte_alloc_one_kernel(mm, address); 1952 pte_t *pte;
1953 struct page *page;
1954
1955 pte = sun4c_pte_alloc_one_kernel(mm, address);
1953 if (pte == NULL) 1956 if (pte == NULL)
1954 return NULL; 1957 return NULL;
1955 return virt_to_page(pte); 1958 page = virt_to_page(pte);
1959 pgtable_page_ctor(page);
1960 return page;
1956} 1961}
1957 1962
1958static inline void sun4c_free_pte_fast(pte_t *pte) 1963static inline void sun4c_free_pte_fast(pte_t *pte)
@@ -1962,8 +1967,9 @@ static inline void sun4c_free_pte_fast(pte_t *pte)
1962 pgtable_cache_size++; 1967 pgtable_cache_size++;
1963} 1968}
1964 1969
1965static void sun4c_pte_free(struct page *pte) 1970static void sun4c_pte_free(pgtable_t pte)
1966{ 1971{
1972 pgtable_page_dtor(pte);
1967 sun4c_free_pte_fast(page_address(pte)); 1973 sun4c_free_pte_fast(page_address(pte));
1968} 1974}
1969 1975