Commit 6ea3ba6f authored by Serge Semin's avatar Serge Semin Committed by Paul Burton

mips: Discard rudiments from bootmem_init

There is a pointless code left in the bootmem_init() method since
the bootmem allocator removal. First part resides the PFN ranges
calculation loop. The conditional expressions and continue operator
are useless there, since nothing is done after them. Second part is
in RAM ranges installation loop. We can simplify the conditions cascade
a bit without much of the logic redefinition, so to reduce the code
length. In particular the end boundary value can be verified after
the possible reduction to be below max_low_pfn.
Signed-off-by: default avatarSerge Semin <fancer.lancer@gmail.com>
Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: Matt Redfearn <matt.redfearn@mips.com>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Cc: Huacai Chen <chenhc@lemote.com>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: linux-mips@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
parent a703db3d
...@@ -394,10 +394,7 @@ static void __init bootmem_init(void) ...@@ -394,10 +394,7 @@ static void __init bootmem_init(void)
min_low_pfn = ~0UL; min_low_pfn = ~0UL;
max_low_pfn = 0; max_low_pfn = 0;
/* /* Find the highest and lowest page frame numbers we have available. */
* Find the highest page frame number we have available
* and the lowest used RAM address
*/
for (i = 0; i < boot_mem_map.nr_map; i++) { for (i = 0; i < boot_mem_map.nr_map; i++) {
unsigned long start, end; unsigned long start, end;
...@@ -427,13 +424,6 @@ static void __init bootmem_init(void) ...@@ -427,13 +424,6 @@ static void __init bootmem_init(void)
max_low_pfn = end; max_low_pfn = end;
if (start < min_low_pfn) if (start < min_low_pfn)
min_low_pfn = start; min_low_pfn = start;
if (end <= reserved_end)
continue;
#ifdef CONFIG_BLK_DEV_INITRD
/* Skip zones before initrd and initrd itself */
if (initrd_end && end <= (unsigned long)PFN_UP(__pa(initrd_end)))
continue;
#endif
} }
if (min_low_pfn >= max_low_pfn) if (min_low_pfn >= max_low_pfn)
...@@ -474,6 +464,7 @@ static void __init bootmem_init(void) ...@@ -474,6 +464,7 @@ static void __init bootmem_init(void)
max_low_pfn = PFN_DOWN(HIGHMEM_START); max_low_pfn = PFN_DOWN(HIGHMEM_START);
} }
/* Install all valid RAM ranges to the memblock memory region */
for (i = 0; i < boot_mem_map.nr_map; i++) { for (i = 0; i < boot_mem_map.nr_map; i++) {
unsigned long start, end; unsigned long start, end;
...@@ -481,21 +472,15 @@ static void __init bootmem_init(void) ...@@ -481,21 +472,15 @@ static void __init bootmem_init(void)
end = PFN_DOWN(boot_mem_map.map[i].addr end = PFN_DOWN(boot_mem_map.map[i].addr
+ boot_mem_map.map[i].size); + boot_mem_map.map[i].size);
if (start <= min_low_pfn) if (start < min_low_pfn)
start = min_low_pfn; start = min_low_pfn;
if (start >= end)
continue;
#ifndef CONFIG_HIGHMEM #ifndef CONFIG_HIGHMEM
/* Ignore highmem regions if highmem is unsupported */
if (end > max_low_pfn) if (end > max_low_pfn)
end = max_low_pfn; end = max_low_pfn;
#endif
/*
* ... finally, is the area going away?
*/
if (end <= start) if (end <= start)
continue; continue;
#endif
memblock_add_node(PFN_PHYS(start), PFN_PHYS(end - start), 0); memblock_add_node(PFN_PHYS(start), PFN_PHYS(end - start), 0);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment