Merge branch 'torvalds/master'
[firefly-linux-kernel-4.4.55.git] / arch / avr32 / mm / init.c
index e66e8406f99211ba17e28ae59b491c029aa5ace6..def5391d927ac353682e1607162d1770365840cf 100644 (file)
@@ -100,60 +100,26 @@ void __init paging_init(void)
 
 void __init mem_init(void)
 {
-       int codesize, reservedpages, datasize, initsize;
-       int nid, i;
+       pg_data_t *pgdat;
 
-       reservedpages = 0;
        high_memory = NULL;
+       for_each_online_pgdat(pgdat)
+               high_memory = max_t(void *, high_memory,
+                                   __va(pgdat_end_pfn(pgdat) << PAGE_SHIFT));
 
-       /* this will put all low memory onto the freelists */
-       for_each_online_node(nid) {
-               pg_data_t *pgdat = NODE_DATA(nid);
-               unsigned long node_pages = 0;
-               void *node_high_memory;
-
-               num_physpages += pgdat->node_present_pages;
-
-               if (pgdat->node_spanned_pages != 0)
-                       node_pages = free_all_bootmem_node(pgdat);
-
-               totalram_pages += node_pages;
-
-               for (i = 0; i < node_pages; i++)
-                       if (PageReserved(pgdat->node_mem_map + i))
-                               reservedpages++;
-
-               node_high_memory = (void *)((pgdat->node_start_pfn
-                                            + pgdat->node_spanned_pages)
-                                           << PAGE_SHIFT);
-               if (node_high_memory > high_memory)
-                       high_memory = node_high_memory;
-       }
-
-       max_mapnr = MAP_NR(high_memory);
-
-       codesize = (unsigned long)_etext - (unsigned long)_text;
-       datasize = (unsigned long)_edata - (unsigned long)_data;
-       initsize = (unsigned long)__init_end - (unsigned long)__init_begin;
-
-       printk ("Memory: %luk/%luk available (%dk kernel code, "
-               "%dk reserved, %dk data, %dk init)\n",
-               nr_free_pages() << (PAGE_SHIFT - 10),
-               totalram_pages << (PAGE_SHIFT - 10),
-               codesize >> 10,
-               reservedpages << (PAGE_SHIFT - 10),
-               datasize >> 10,
-               initsize >> 10);
+       set_max_mapnr(MAP_NR(high_memory));
+       free_all_bootmem();
+       mem_init_print_info(NULL);
 }
 
 void free_initmem(void)
 {
-       free_initmem_default(0);
+       free_initmem_default(-1);
 }
 
 #ifdef CONFIG_BLK_DEV_INITRD
 void free_initrd_mem(unsigned long start, unsigned long end)
 {
-       free_reserved_area(start, end, 0, "initrd");
+       free_reserved_area((void *)start, (void *)end, -1, "initrd");
 }
 #endif