From: Mike Rapoport <rppt@xxxxxxxxxxxxx> Hi, These patches simplify several uses of memblock iterators and hide some of the memblock implementation details from the rest of the system. The patches are on top of v5.8-rc7 + cherry-pick of "mm/sparse: cleanup the code surrounding memory_present()" [1] from mmotm tree. v2 changes: * replace for_each_memblock() with two versions, one for memblock.memory and another one for memblock.reserved * fix overzealous cleanup of powerpc fadamp: keep the traversal over the memblocks, but use better suited iterators * don't remove traversal over memblock.reserved in x86 numa cleanup but replace for_each_memblock() with new for_each_reserved_mem_region() * simplify ramdisk and crash kernel allocations on x86 * drop more redundant and unused code: __next_reserved_mem_region() and memblock_mem_size() * add description of numa initialization fix on arm64 (thanks Jonathan) * add Acked and Reviewed tags [1] http://lkml.kernel.org/r/20200712083130.22919-1-rppt@xxxxxxxxxx Mike Rapoport (17): KVM: PPC: Book3S HV: simplify kvm_cma_reserve() dma-contiguous: simplify cma_early_percent_memory() arm, xtensa: simplify initialization of high memory pages arm64: numa: simplify dummy_numa_init() h8300, nds32, openrisc: simplify detection of memory extents riscv: drop unneeded node initialization mircoblaze: drop unneeded NUMA and sparsemem initializations memblock: make for_each_memblock_type() iterator private memblock: make memblock_debug and related functionality private memblock: reduce number of parameters in for_each_mem_range() arch, mm: replace for_each_memblock() with for_each_mem_pfn_range() arch, drivers: replace for_each_membock() with for_each_mem_range() x86/setup: simplify initrd relocation and reservation x86/setup: simplify reserve_crashkernel() memblock: remove unused memblock_mem_size() memblock: implement for_each_reserved_mem_region() using __next_mem_region() memblock: use separate iterators for memory and reserved regions .clang-format | 4 +- arch/arm/kernel/setup.c | 18 +++-- arch/arm/mm/init.c | 59 ++++------------ arch/arm/mm/mmu.c | 39 ++++------- arch/arm/mm/pmsa-v7.c | 20 +++--- arch/arm/mm/pmsa-v8.c | 17 +++-- arch/arm/xen/mm.c | 7 +- arch/arm64/kernel/machine_kexec_file.c | 6 +- arch/arm64/kernel/setup.c | 4 +- arch/arm64/mm/init.c | 11 ++- arch/arm64/mm/kasan_init.c | 10 +-- arch/arm64/mm/mmu.c | 11 +-- arch/arm64/mm/numa.c | 15 ++--- arch/c6x/kernel/setup.c | 9 +-- arch/h8300/kernel/setup.c | 8 +-- arch/microblaze/mm/init.c | 24 ++----- arch/mips/cavium-octeon/dma-octeon.c | 12 ++-- arch/mips/kernel/setup.c | 31 +++++---- arch/mips/netlogic/xlp/setup.c | 2 +- arch/nds32/kernel/setup.c | 8 +-- arch/openrisc/kernel/setup.c | 9 +-- arch/openrisc/mm/init.c | 8 ++- arch/powerpc/kernel/fadump.c | 57 ++++++++-------- arch/powerpc/kvm/book3s_hv_builtin.c | 11 +-- arch/powerpc/mm/book3s64/hash_utils.c | 16 ++--- arch/powerpc/mm/book3s64/radix_pgtable.c | 11 ++- arch/powerpc/mm/kasan/kasan_init_32.c | 8 +-- arch/powerpc/mm/mem.c | 33 +++++---- arch/powerpc/mm/numa.c | 7 +- arch/powerpc/mm/pgtable_32.c | 8 +-- arch/riscv/mm/init.c | 34 +++------- arch/riscv/mm/kasan_init.c | 10 +-- arch/s390/kernel/crash_dump.c | 8 +-- arch/s390/kernel/setup.c | 31 +++++---- arch/s390/mm/page-states.c | 6 +- arch/s390/mm/vmem.c | 16 +++-- arch/sh/mm/init.c | 9 +-- arch/sparc/mm/init_64.c | 12 ++-- arch/x86/kernel/setup.c | 56 +++++----------- arch/x86/mm/numa.c | 2 +- arch/xtensa/mm/init.c | 55 +++------------ drivers/bus/mvebu-mbus.c | 12 ++-- drivers/irqchip/irq-gic-v3-its.c | 2 +- drivers/s390/char/zcore.c | 9 +-- include/linux/memblock.h | 65 +++++++++--------- kernel/dma/contiguous.c | 11 +-- mm/memblock.c | 85 ++++++++---------------- mm/page_alloc.c | 11 ++- mm/sparse.c | 10 ++- 49 files changed, 366 insertions(+), 561 deletions(-) -- 2.26.2