|
@@ -116,23 +116,26 @@ static unsigned long __init __free_memory_core(phys_addr_t start,
|
|
|
static unsigned long __init free_low_memory_core_early(void)
|
|
|
{
|
|
|
unsigned long count = 0;
|
|
|
- phys_addr_t start, end, size;
|
|
|
+ phys_addr_t start, end;
|
|
|
u64 i;
|
|
|
|
|
|
for_each_free_mem_range(i, NUMA_NO_NODE, &start, &end, NULL)
|
|
|
count += __free_memory_core(start, end);
|
|
|
|
|
|
- /* Free memblock.reserved array if it was allocated */
|
|
|
- size = get_allocated_memblock_reserved_regions_info(&start);
|
|
|
- if (size)
|
|
|
- count += __free_memory_core(start, start + size);
|
|
|
-
|
|
|
#ifdef CONFIG_ARCH_DISCARD_MEMBLOCK
|
|
|
-
|
|
|
- /* Free memblock.memory array if it was allocated */
|
|
|
- size = get_allocated_memblock_memory_regions_info(&start);
|
|
|
- if (size)
|
|
|
- count += __free_memory_core(start, start + size);
|
|
|
+ {
|
|
|
+ phys_addr_t size;
|
|
|
+
|
|
|
+ /* Free memblock.reserved array if it was allocated */
|
|
|
+ size = get_allocated_memblock_reserved_regions_info(&start);
|
|
|
+ if (size)
|
|
|
+ count += __free_memory_core(start, start + size);
|
|
|
+
|
|
|
+ /* Free memblock.memory array if it was allocated */
|
|
|
+ size = get_allocated_memblock_memory_regions_info(&start);
|
|
|
+ if (size)
|
|
|
+ count += __free_memory_core(start, start + size);
|
|
|
+ }
|
|
|
#endif
|
|
|
|
|
|
return count;
|