[PATCH v3 4/5] mips: Do not define pud_leaf() when there is no PMD

From: Christophe Leroy
Date: Sat Jul 13 2024 - 03:09:45 EST


pud_leaf() is already provided by asm-generic/pgtable-nopmd.h

Do not add a macro that hides and overrides the static inline
definition in asm-generic/pgtable-nopmd.h.

Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
---
arch/mips/include/asm/pgtable-64.h | 4 ++++
arch/mips/include/asm/pgtable.h | 1 -
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h
index 401c1d9e4409..d2de4e2800be 100644
--- a/arch/mips/include/asm/pgtable-64.h
+++ b/arch/mips/include/asm/pgtable-64.h
@@ -294,6 +294,10 @@ static inline void pud_clear(pud_t *pudp)
{
pud_val(*pudp) = ((unsigned long) invalid_pmd_table);
}
+
+#ifdef _PAGE_HUGE
+#define pud_leaf(pud) ((pud_val(pud) & _PAGE_HUGE) != 0)
+#endif
#endif

#define pte_page(x) pfn_to_page(pte_pfn(x))
diff --git a/arch/mips/include/asm/pgtable.h b/arch/mips/include/asm/pgtable.h
index c29a551eb0ca..28233025f884 100644
--- a/arch/mips/include/asm/pgtable.h
+++ b/arch/mips/include/asm/pgtable.h
@@ -755,7 +755,6 @@ static inline pmd_t pmdp_huge_get_and_clear(struct mm_struct *mm,

#ifdef _PAGE_HUGE
#define pmd_leaf(pmd) ((pmd_val(pmd) & _PAGE_HUGE) != 0)
-#define pud_leaf(pud) ((pud_val(pud) & _PAGE_HUGE) != 0)
#endif

#define gup_fast_permitted(start, end) (!cpu_has_dc_aliases)
--
2.44.0