diff options
Diffstat (limited to 'arch/openrisc/mm/init.c')
| -rw-r--r-- | arch/openrisc/mm/init.c | 27 | 
1 files changed, 3 insertions, 24 deletions
diff --git a/arch/openrisc/mm/init.c b/arch/openrisc/mm/init.c index e7fdc50c4bf..b3cbc670383 100644 --- a/arch/openrisc/mm/init.c +++ b/arch/openrisc/mm/init.c @@ -43,6 +43,7 @@  #include <asm/kmap_types.h>  #include <asm/fixmap.h>  #include <asm/tlbflush.h> +#include <asm/sections.h>  int mem_init_done; @@ -201,9 +202,6 @@ void __init paging_init(void)  /* References to section boundaries */ -extern char _stext, _etext, _edata, __bss_start, _end; -extern char __init_begin, __init_end; -  static int __init free_pages_init(void)  {  	int reservedpages, pfn; @@ -263,30 +261,11 @@ void __init mem_init(void)  #ifdef CONFIG_BLK_DEV_INITRD  void free_initrd_mem(unsigned long start, unsigned long end)  { -	printk(KERN_INFO "Freeing initrd memory: %ldk freed\n", -	       (end - start) >> 10); - -	for (; start < end; start += PAGE_SIZE) { -		ClearPageReserved(virt_to_page(start)); -		init_page_count(virt_to_page(start)); -		free_page(start); -		totalram_pages++; -	} +	free_reserved_area(start, end, 0, "initrd");  }  #endif  void free_initmem(void)  { -	unsigned long addr; - -	addr = (unsigned long)(&__init_begin); -	for (; addr < (unsigned long)(&__init_end); addr += PAGE_SIZE) { -		ClearPageReserved(virt_to_page(addr)); -		init_page_count(virt_to_page(addr)); -		free_page(addr); -		totalram_pages++; -	} -	printk(KERN_INFO "Freeing unused kernel memory: %luk freed\n", -	       ((unsigned long)&__init_end - -		(unsigned long)&__init_begin) >> 10); +	free_initmem_default(0);  }  |