arch, mm: replace for_each_memblock() with for_each_mem_pfn_range()
[sfrench/cifs-2.6.git] / arch / arm / mm / init.c
index 50a5a30a78ff2ee264adf1d485fe8dc38e7892a7..45f9d5ec23604ed6c87a247e48593aed4c8d0f53 100644 (file)
@@ -299,16 +299,14 @@ free_memmap(unsigned long start_pfn, unsigned long end_pfn)
  */
 static void __init free_unused_memmap(void)
 {
-       unsigned long start, prev_end = 0;
-       struct memblock_region *reg;
+       unsigned long start, end, prev_end = 0;
+       int i;
 
        /*
         * This relies on each bank being in address order.
         * The banks are sorted previously in bootmem_init().
         */
-       for_each_memblock(memory, reg) {
-               start = memblock_region_memory_base_pfn(reg);
-
+       for_each_mem_pfn_range(i, MAX_NUMNODES, &start, &end, NULL) {
 #ifdef CONFIG_SPARSEMEM
                /*
                 * Take care not to free memmap entries that don't exist
@@ -336,8 +334,7 @@ static void __init free_unused_memmap(void)
                 * memmap entries are valid from the bank end aligned to
                 * MAX_ORDER_NR_PAGES.
                 */
-               prev_end = ALIGN(memblock_region_memory_end_pfn(reg),
-                                MAX_ORDER_NR_PAGES);
+               prev_end = ALIGN(end, MAX_ORDER_NR_PAGES);
        }
 
 #ifdef CONFIG_SPARSEMEM