powerpc/mm: Use pmd_lockptr instead of opencoding it
[linux-2.6-block.git] / arch / powerpc / mm / pgtable-hash64.c
index 199bfda5f0d96dd8b85a567dd4966ee3fca33965..692bfc9e372cb0dcd82f75ff144626707f65a837 100644 (file)
@@ -193,7 +193,7 @@ unsigned long hash__pmd_hugepage_update(struct mm_struct *mm, unsigned long addr
 
 #ifdef CONFIG_DEBUG_VM
        WARN_ON(!hash__pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp));
-       assert_spin_locked(&mm->page_table_lock);
+       assert_spin_locked(pmd_lockptr(mm, pmdp));
 #endif
 
        __asm__ __volatile__(
@@ -265,7 +265,8 @@ void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
                                  pgtable_t pgtable)
 {
        pgtable_t *pgtable_slot;
-       assert_spin_locked(&mm->page_table_lock);
+
+       assert_spin_locked(pmd_lockptr(mm, pmdp));
        /*
         * we store the pgtable in the second half of PMD
         */
@@ -285,7 +286,8 @@ pgtable_t hash__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
        pgtable_t pgtable;
        pgtable_t *pgtable_slot;
 
-       assert_spin_locked(&mm->page_table_lock);
+       assert_spin_locked(pmd_lockptr(mm, pmdp));
+
        pgtable_slot = (pgtable_t *)pmdp + PTRS_PER_PMD;
        pgtable = *pgtable_slot;
        /*