diff options
author | Jiang Liu <liuj97@gmail.com> | 2013-04-29 18:06:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 18:54:29 -0400 |
commit | c15da0a87c33e32b4984d367799b32dda2024af8 (patch) | |
tree | 5334b9ba5dba969ffa0fd70c0e4189f207e10dda /arch/avr32 | |
parent | 83db0384a92ac4e52dccd275bc1a58dca86d629d (diff) |
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')
-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 2798c2d4a1cf..e66e8406f992 100644 --- a/arch/avr32/mm/init.c +++ b/arch/avr32/mm/init.c | |||
@@ -146,34 +146,14 @@ void __init mem_init(void) | |||
146 | initsize >> 10); | 146 | initsize >> 10); |
147 | } | 147 | } |
148 | 148 | ||
149 | static inline void free_area(unsigned long addr, unsigned long end, char *s) | ||
150 | { | ||
151 | unsigned int size = (end - addr) >> 10; | ||
152 | |||
153 | for (; addr < end; addr += PAGE_SIZE) { | ||
154 | struct page *page = virt_to_page(addr); | ||
155 | ClearPageReserved(page); | ||
156 | init_page_count(page); | ||
157 | free_page(addr); | ||
158 | totalram_pages++; | ||
159 | } | ||
160 | |||
161 | if (size && s) | ||
162 | printk(KERN_INFO "Freeing %s memory: %dK (%lx - %lx)\n", | ||
163 | s, size, end - (size << 10), end); | ||
164 | } | ||
165 | |||
166 | void free_initmem(void) | 149 | void free_initmem(void) |
167 | { | 150 | { |
168 | free_area((unsigned long)__init_begin, (unsigned long)__init_end, | 151 | free_initmem_default(0); |
169 | "init"); | ||
170 | } | 152 | } |
171 | 153 | ||
172 | #ifdef CONFIG_BLK_DEV_INITRD | 154 | #ifdef CONFIG_BLK_DEV_INITRD |
173 | |||
174 | void free_initrd_mem(unsigned long start, unsigned long end) | 155 | void free_initrd_mem(unsigned long start, unsigned long end) |
175 | { | 156 | { |
176 | free_area(start, end, "initrd"); | 157 | free_reserved_area(start, end, 0, "initrd"); |
177 | } | 158 | } |
178 | |||
179 | #endif | 159 | #endif |