diff options
Diffstat (limited to 'arch/sh/mm/init.c')
| -rw-r--r-- | arch/sh/mm/init.c | 17 | 
1 files changed, 9 insertions, 8 deletions
| diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index d0e249100e98..552bea5113f5 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c @@ -200,7 +200,6 @@ static void __init bootmem_init_one_node(unsigned int nid)  	unsigned long total_pages, paddr;  	unsigned long end_pfn;  	struct pglist_data *p; -	int i;  	p = NODE_DATA(nid); @@ -226,11 +225,12 @@ static void __init bootmem_init_one_node(unsigned int nid)  	 * reservations in other nodes.  	 */  	if (nid == 0) { +		struct memblock_region *reg; +  		/* Reserve the sections we're already using. */ -		for (i = 0; i < memblock.reserved.cnt; i++) -			reserve_bootmem(memblock.reserved.region[i].base, -					memblock_size_bytes(&memblock.reserved, i), -					BOOTMEM_DEFAULT); +		for_each_memblock(reserved, reg) { +			reserve_bootmem(reg->base, reg->size, BOOTMEM_DEFAULT); +		}  	}  	sparse_memory_present_with_active_regions(nid); @@ -238,13 +238,14 @@ static void __init bootmem_init_one_node(unsigned int nid)  static void __init do_init_bootmem(void)  { +	struct memblock_region *reg;  	int i;  	/* Add active regions with valid PFNs. */ -	for (i = 0; i < memblock.memory.cnt; i++) { +	for_each_memblock(memory, reg) {  		unsigned long start_pfn, end_pfn; -		start_pfn = memblock.memory.region[i].base >> PAGE_SHIFT; -		end_pfn = start_pfn + memblock_size_pages(&memblock.memory, i); +		start_pfn = memblock_region_memory_base_pfn(reg); +		end_pfn = memblock_region_memory_end_pfn(reg);  		__add_active_range(0, start_pfn, end_pfn);  	} |