summary refs log tree commit diff
path: root/arch/arm64/mm/init.c
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2021-10-29 12:25:19 +0100
committerWill Deacon <will@kernel.org>2021-10-29 12:25:19 +0100
commit16c200e0404510c416ea7348a6a1dbe9c2d262e5 (patch)
treed90a809724dc41298e0eedf2ad86dfc649bc7227 /arch/arm64/mm/init.c
parentbd334dd7def6debd1c318f57a539242c14c43bb9 (diff)
parent3de360c3fdb34fbdbaf6da3af94367d3fded95d3 (diff)
downloadlinux-16c200e0404510c416ea7348a6a1dbe9c2d262e5.tar.gz
Merge branch 'for-next/pfn-valid' into for-next/core
* for-next/pfn-valid:
  arm64/mm: drop HAVE_ARCH_PFN_VALID
  dma-mapping: remove bogus test for pfn_valid from dma_map_resource
Diffstat (limited to 'arch/arm64/mm/init.c')
-rw-r--r--arch/arm64/mm/init.c37
1 files changed, 0 insertions, 37 deletions
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index 142125749783..a8834434af99 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -160,43 +160,6 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max)
 	free_area_init(max_zone_pfns);
 }
 
-int pfn_valid(unsigned long pfn)
-{
-	phys_addr_t addr = PFN_PHYS(pfn);
-	struct mem_section *ms;
-
-	/*
-	 * Ensure the upper PAGE_SHIFT bits are clear in the
-	 * pfn. Else it might lead to false positives when
-	 * some of the upper bits are set, but the lower bits
-	 * match a valid pfn.
-	 */
-	if (PHYS_PFN(addr) != pfn)
-		return 0;
-
-	if (pfn_to_section_nr(pfn) >= NR_MEM_SECTIONS)
-		return 0;
-
-	ms = __pfn_to_section(pfn);
-	if (!valid_section(ms))
-		return 0;
-
-	/*
-	 * ZONE_DEVICE memory does not have the memblock entries.
-	 * memblock_is_map_memory() check for ZONE_DEVICE based
-	 * addresses will always fail. Even the normal hotplugged
-	 * memory will never have MEMBLOCK_NOMAP flag set in their
-	 * memblock entries. Skip memblock search for all non early
-	 * memory sections covering all of hotplug memory including
-	 * both normal and ZONE_DEVICE based.
-	 */
-	if (!early_section(ms))
-		return pfn_section_valid(ms, pfn);
-
-	return memblock_is_memory(addr);
-}
-EXPORT_SYMBOL(pfn_valid);
-
 int pfn_is_map_memory(unsigned long pfn)
 {
 	phys_addr_t addr = PFN_PHYS(pfn);