memblock: make memblock_find_in_range method private
authorMike Rapoport <rppt@linux.ibm.com>
Thu, 2 Sep 2021 22:00:26 +0000 (15:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Sep 2021 16:58:17 +0000 (09:58 -0700)
commita7259df7670240ee03b0cfce8a3e5d3773911e24
tree5ebc8853e9b52196d42fa397fc298bb1cacb9019
parent38b031dd4d03542d963eebe600d67ea34f47eb65
memblock: make memblock_find_in_range method private

There are a lot of uses of memblock_find_in_range() along with
memblock_reserve() from the times memblock allocation APIs did not exist.

memblock_find_in_range() is the very core of memblock allocations, so any
future changes to its internal behaviour would mandate updates of all the
users outside memblock.

Replace the calls to memblock_find_in_range() with an equivalent calls to
memblock_phys_alloc() and memblock_phys_alloc_range() and make
memblock_find_in_range() private method of memblock.

This simplifies the callers, ensures that (unlikely) errors in
memblock_reserve() are handled and improves maintainability of
memblock_find_in_range().

Link: https://lkml.kernel.org/r/20210816122622.30279-1-rppt@kernel.org
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> [arm64]
Acked-by: Kirill A. Shutemov <kirill.shtuemov@linux.intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> [ACPI]
Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Acked-by: Nick Kossifidis <mick@ics.forth.gr> [riscv]
Tested-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 files changed:
arch/arm/kernel/setup.c
arch/arm64/kvm/hyp/reserved_mem.c
arch/arm64/mm/init.c
arch/mips/kernel/setup.c
arch/riscv/mm/init.c
arch/s390/kernel/setup.c
arch/x86/kernel/aperture_64.c
arch/x86/mm/init.c
arch/x86/mm/numa.c
arch/x86/mm/numa_emulation.c
arch/x86/realmode/init.c
drivers/acpi/tables.c
drivers/base/arch_numa.c
drivers/of/of_reserved_mem.c
include/linux/memblock.h
mm/memblock.c