diff options
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 2798c2d4a1c..e66e8406f99 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  |