|
@@ -166,9 +166,8 @@ void __init prom_meminit(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-unsigned long __init prom_free_prom_memory(void)
|
|
|
+void __init prom_free_prom_memory(void)
|
|
|
{
|
|
|
- unsigned long freed = 0;
|
|
|
unsigned long addr;
|
|
|
int i;
|
|
|
|
|
@@ -176,17 +175,8 @@ unsigned long __init prom_free_prom_memory(void)
|
|
|
if (boot_mem_map.map[i].type != BOOT_MEM_ROM_DATA)
|
|
|
continue;
|
|
|
|
|
|
- addr = PAGE_ALIGN(boot_mem_map.map[i].addr);
|
|
|
- while (addr < boot_mem_map.map[i].addr
|
|
|
- + boot_mem_map.map[i].size) {
|
|
|
- ClearPageReserved(virt_to_page(__va(addr)));
|
|
|
- init_page_count(virt_to_page(__va(addr)));
|
|
|
- free_page((unsigned long)__va(addr));
|
|
|
- addr += PAGE_SIZE;
|
|
|
- freed += PAGE_SIZE;
|
|
|
- }
|
|
|
+ addr = boot_mem_map.map[i].addr;
|
|
|
+ free_init_pages("prom memory",
|
|
|
+ addr, addr + boot_mem_map.map[i].size);
|
|
|
}
|
|
|
- printk("Freeing prom memory: %ldkb freed\n", freed >> 10);
|
|
|
-
|
|
|
- return freed;
|
|
|
}
|