diff options
author | Jiang Liu <liuj97@gmail.com> | 2013-04-29 22:06:27 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 22:54:29 (GMT) |
commit | c15da0a87c33e32b4984d367799b32dda2024af8 (patch) | |
tree | 5334b9ba5dba969ffa0fd70c0e4189f207e10dda /arch/avr32/mm/init.c | |
parent | 83db0384a92ac4e52dccd275bc1a58dca86d629d (diff) | |
download | linux-c15da0a87c33e32b4984d367799b32dda2024af8.tar.xz |
mm/avr32: 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>
Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/avr32/mm/init.c')
-rw-r--r-- | arch/avr32/mm/init.c | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/arch/avr32/mm/init.c b/arch/avr32/mm/init.c index 2798c2d..e66e840 100644 --- a/arch/avr32/mm/init.c +++ b/arch/avr32/mm/init.c @@ -146,34 +146,14 @@ void __init mem_init(void) initsize >> 10); } -static inline void free_area(unsigned long addr, unsigned long end, char *s) -{ - unsigned int size = (end - addr) >> 10; - - for (; addr < end; addr += PAGE_SIZE) { - struct page *page = virt_to_page(addr); - ClearPageReserved(page); - init_page_count(page); - free_page(addr); - totalram_pages++; - } - - if (size && s) - printk(KERN_INFO "Freeing %s memory: %dK (%lx - %lx)\n", - s, size, end - (size << 10), end); -} - void free_initmem(void) { - free_area((unsigned long)__init_begin, (unsigned long)__init_end, - "init"); + free_initmem_default(0); } #ifdef CONFIG_BLK_DEV_INITRD - void free_initrd_mem(unsigned long start, unsigned long end) { - free_area(start, end, "initrd"); + free_reserved_area(start, end, 0, "initrd"); } - #endif |