Subject: linux-next: build failure after merge of the folio tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 15 Feb 2022 17:44:11 +1100

Hi all,

After merging the folio tree, today's linux-next build (sparc defconfig)
failed like this:

mm/page_vma_mapped.c: In function 'page_vma_mapped_walk':
mm/page_vma_mapped.c:219:48: error: implicit declaration of function 'pmd_pfn'; did you mean 'pmd_off'? [-Werror=implicit-function-declaration]
  219 |                                 if (!check_pmd(pmd_pfn(pmde), pvmw))
      |                                                ^~~~~~~
      |                                                pmd_off

Caused by commit

  b1dede582893 ("mm: Convert page_vma_mapped_walk to work on PFNs")

I applied the following hack just to make it build:

From: Stephen Rothwell <[email-masked]>
Date: Tue, 15 Feb 2022 17:15:48 +1100
Subject: [PATCH] fix up for "mm: Convert page_vma_mapped_walk to work on PFNs"

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 arch/sparc/include/asm/pgtable_32.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/sparc/include/asm/pgtable_32.h b/arch/sparc/include/asm/pgtable_32.h
index ffccfe3b22ed..30d55a37515d 100644
--- a/arch/sparc/include/asm/pgtable_32.h
+++ b/arch/sparc/include/asm/pgtable_32.h
@@ -424,6 +424,13 @@ static inline int io_remap_pfn_range(struct vm_area_struct *vma,
 	__changed;							  \
 })
 
+static inline unsigned long pmd_pfn(pmd_t pmd)
+{
+	pte_t pte = __pte(pmd_val(pmd));
+
+	return pte_pfn(pte);
+}
+
 #endif /* !(__ASSEMBLY__) */
 
 #define VMALLOC_START           _AC(0xfe600000,UL)
-- 
2.34.1

-- 
Cheers,
Stephen Rothwell