#endif
 }
 
-static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
-{
-       return pmdp_get_lockless(pmdp);
-}
-
 #ifndef arch_needs_pgtable_deposit
 #define arch_needs_pgtable_deposit() (false)
 #endif
  */
 static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t *pmd)
 {
-       pmd_t pmdval = pmd_read_atomic(pmd);
+       pmd_t pmdval = pmdp_get_lockless(pmd);
        /*
         * The barrier will stabilize the pmdval in a register or on
         * the stack so that it will stop changing under the code.
         *
         * When CONFIG_TRANSPARENT_HUGEPAGE=y on x86 32bit PAE,
-        * pmd_read_atomic is allowed to return a not atomic pmdval
+        * pmdp_get_lockless is allowed to return a not atomic pmdval
         * (for example pointing to an hugepage that has never been
         * mapped in the pmd). The below checks will only care about
         * the low part of the pmd with 32bit PAE x86 anyway, with the
 
                 * huge or device mapping one and compute corresponding pfn
                 * values.
                 */
-               pmd = pmd_read_atomic(pmdp);
+               pmd = pmdp_get_lockless(pmdp);
                barrier();
                if (!pmd_devmap(pmd) && !pmd_trans_huge(pmd))
                        goto again;
 
        if (!*pmd)
                return SCAN_PMD_NULL;
 
-       pmde = pmd_read_atomic(*pmd);
+       pmde = pmdp_get_lockless(*pmd);
 
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
        /* See comments in pmd_none_or_trans_huge_or_clear_bad() */
 
 static int wp_clean_pmd_entry(pmd_t *pmd, unsigned long addr, unsigned long end,
                              struct mm_walk *walk)
 {
-       pmd_t pmdval = pmd_read_atomic(pmd);
+       pmd_t pmdval = pmdp_get_lockless(pmd);
 
        if (!pmd_trans_unstable(&pmdval))
                return 0;
 
  */
 static inline int pmd_none_or_clear_bad_unless_trans_huge(pmd_t *pmd)
 {
-       pmd_t pmdval = pmd_read_atomic(pmd);
+       pmd_t pmdval = pmdp_get_lockless(pmd);
 
        /* See pmd_none_or_trans_huge_or_clear_bad for info on barrier */
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
 
                        break;
                }
 
-               dst_pmdval = pmd_read_atomic(dst_pmd);
+               dst_pmdval = pmdp_get_lockless(dst_pmd);
                /*
                 * If the dst_pmd is mapped as THP don't
                 * override it and just be strict.
 
        /* walk_pte_range() may call get_next_vma() */
        vma = args->vma;
        for (i = pmd_index(start), addr = start; addr != end; i++, addr = next) {
-               pmd_t val = pmd_read_atomic(pmd + i);
+               pmd_t val = pmdp_get_lockless(pmd + i);
 
-               /* for pmd_read_atomic() */
+               /* for pmdp_get_lockless() */
                barrier();
 
                next = pmd_addr_end(addr, end);