diff options
author | Jiang Liu <liuj97@gmail.com> | 2013-04-29 15:06:57 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 15:54:31 -0700 |
commit | c941836819569abd5319f93f68638b65e2dfecc5 (patch) | |
tree | 83f07861395a73c0daf395eca4d728a3ed1331b0 /arch | |
parent | d2309a1996dce1ea85b322a3dd36520493473494 (diff) |
mm/metag: use common help functions to free reserved pages
Use common help functions to free reserved pages.
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/metag/mm/init.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/arch/metag/mm/init.c b/arch/metag/mm/init.c index 504a398d5f8b..c6784fb3a334 100644 --- a/arch/metag/mm/init.c +++ b/arch/metag/mm/init.c @@ -412,32 +412,15 @@ void __init mem_init(void) return; } -static void free_init_pages(char *what, unsigned long begin, unsigned long end) -{ - unsigned long addr; - - for (addr = begin; addr < end; addr += PAGE_SIZE) { - ClearPageReserved(virt_to_page(addr)); - init_page_count(virt_to_page(addr)); - memset((void *)addr, POISON_FREE_INITMEM, PAGE_SIZE); - free_page(addr); - totalram_pages++; - } - pr_info("Freeing %s: %luk freed\n", what, (end - begin) >> 10); -} - void free_initmem(void) { - free_init_pages("unused kernel memory", - (unsigned long)(&__init_begin), - (unsigned long)(&__init_end)); + free_initmem_default(POISON_FREE_INITMEM); } #ifdef CONFIG_BLK_DEV_INITRD void free_initrd_mem(unsigned long start, unsigned long end) { - end = end & PAGE_MASK; - free_init_pages("initrd memory", start, end); + free_reserved_area(start, end, POISON_FREE_INITMEM, "initrd"); } #endif |