[PATCH v2 45/69] powerpc/mm: Make vmemmap_populate_compound_pages() static
From: Muchun Song
Date: Wed May 13 2026 - 09:45:43 EST
vmemmap_populate_compound_pages() is no longer used outside
radix_pgtable.c.
Make it static and drop the unused dev_pagemap and start_pfn
argument from its only remaining caller.
Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>
---
arch/powerpc/include/asm/book3s/64/radix.h | 6 ------
arch/powerpc/mm/book3s64/radix_pgtable.c | 14 +++++++-------
2 files changed, 7 insertions(+), 13 deletions(-)
diff --git a/arch/powerpc/include/asm/book3s/64/radix.h b/arch/powerpc/include/asm/book3s/64/radix.h
index da954e779744..8452a2714cb1 100644
--- a/arch/powerpc/include/asm/book3s/64/radix.h
+++ b/arch/powerpc/include/asm/book3s/64/radix.h
@@ -356,11 +356,5 @@ int radix__remove_section_mapping(unsigned long start, unsigned long end);
#define vmemmap_can_optimize vmemmap_can_optimize
bool vmemmap_can_optimize(struct vmem_altmap *altmap, struct dev_pagemap *pgmap);
#endif
-
-#define vmemmap_populate_compound_pages vmemmap_populate_compound_pages
-int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn,
- unsigned long start,
- unsigned long end, int node,
- struct dev_pagemap *pgmap);
#endif /* __ASSEMBLER__ */
#endif
diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c
index c7f2327681cc..18b24bb891b7 100644
--- a/arch/powerpc/mm/book3s64/radix_pgtable.c
+++ b/arch/powerpc/mm/book3s64/radix_pgtable.c
@@ -1109,7 +1109,8 @@ static inline pte_t *vmemmap_pte_alloc(pmd_t *pmdp, int node,
return pte_offset_kernel(pmdp, address);
}
-
+static int __meminit vmemmap_populate_compound_pages(unsigned long start,
+ unsigned long end, int node);
int __meminit radix__vmemmap_populate(unsigned long start, unsigned long end, int node,
struct vmem_altmap *altmap)
@@ -1124,7 +1125,7 @@ int __meminit radix__vmemmap_populate(unsigned long start, unsigned long end, in
unsigned long pfn = page_to_pfn((struct page *)start);
if (section_vmemmap_optimizable(__pfn_to_section(pfn)))
- return vmemmap_populate_compound_pages(pfn, start, end, node, NULL);
+ return vmemmap_populate_compound_pages(start, end, node);
/*
* If altmap is present, Make sure we align the start vmemmap addr
* to PAGE_SIZE so that we calculate the correct start_pfn in
@@ -1220,10 +1221,8 @@ int __meminit radix__vmemmap_populate(unsigned long start, unsigned long end, in
return 0;
}
-int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn,
- unsigned long start,
- unsigned long end, int node,
- struct dev_pagemap *pgmap)
+static int __meminit vmemmap_populate_compound_pages(unsigned long start,
+ unsigned long end, int node)
{
/*
* we want to map things as base page size mapping so that
@@ -1238,8 +1237,9 @@ int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn,
pmd_t *pmd;
pte_t *pte;
struct page *tail_page;
- const struct mem_section *ms = __pfn_to_section(start_pfn);
+ const struct mem_section *ms;
+ ms = __pfn_to_section(page_to_pfn((struct page *)start));
tail_page = vmemmap_shared_tail_page(section_order(ms), device_zone(node));
if (!tail_page)
return -ENOMEM;
--
2.54.0