diff options
Diffstat (limited to 'arch/arm/mm/init.c')
| -rw-r--r-- | arch/arm/mm/init.c | 47 | 
1 files changed, 8 insertions, 39 deletions
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index c2daabbe0af0..749a5a6f6143 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c @@ -1,11 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-only  /*   *  linux/arch/arm/mm/init.c   *   *  Copyright (C) 1995-2005 Russell King - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation.   */  #include <linux/kernel.h>  #include <linux/errno.h> @@ -182,21 +179,6 @@ int pfn_valid(unsigned long pfn)  EXPORT_SYMBOL(pfn_valid);  #endif -#ifndef CONFIG_SPARSEMEM -static void __init arm_memory_present(void) -{ -} -#else -static void __init arm_memory_present(void) -{ -	struct memblock_region *reg; - -	for_each_memblock(memory, reg) -		memory_present(0, memblock_region_memory_base_pfn(reg), -			       memblock_region_memory_end_pfn(reg)); -} -#endif -  static bool arm_memblock_steal_permitted = true;  phys_addr_t __init arm_memblock_steal(phys_addr_t size, phys_addr_t align) @@ -293,7 +275,7 @@ void __init bootmem_init(void)  	 * Sparsemem tries to allocate bootmem in memory_present(),  	 * so must be done after the fixed reservations  	 */ -	arm_memory_present(); +	memblocks_present();  	/*  	 * sparse_init() needs the bootmem allocator up and running. @@ -695,27 +677,14 @@ void free_initmem(void)  }  #ifdef CONFIG_BLK_DEV_INITRD - -static int keep_initrd; -  void free_initrd_mem(unsigned long start, unsigned long end)  { -	if (!keep_initrd) { -		if (start == initrd_start) -			start = round_down(start, PAGE_SIZE); -		if (end == initrd_end) -			end = round_up(end, PAGE_SIZE); - -		poison_init_mem((void *)start, PAGE_ALIGN(end) - start); -		free_reserved_area((void *)start, (void *)end, -1, "initrd"); -	} -} +	if (start == initrd_start) +		start = round_down(start, PAGE_SIZE); +	if (end == initrd_end) +		end = round_up(end, PAGE_SIZE); -static int __init keepinitrd_setup(char *__unused) -{ -	keep_initrd = 1; -	return 1; +	poison_init_mem((void *)start, PAGE_ALIGN(end) - start); +	free_reserved_area((void *)start, (void *)end, -1, "initrd");  } - -__setup("keepinitrd", keepinitrd_setup);  #endif  |