Skip to content

Commit

Permalink
[MIPS] prom_free_prom_memory cleanup
Browse files Browse the repository at this point in the history
Current prom_free_prom_memory() implementations are almost same as
free_init_pages(), or no-op.  Make free_init_pages() extern (again)
and make prom_free_prom_memory() use it.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Atsushi Nemoto authored and Ralf Baechle committed Feb 6, 2007
1 parent 2fa7937 commit c44e8d5
Show file tree
Hide file tree
Showing 31 changed files with 44 additions and 114 deletions.
18 changes: 4 additions & 14 deletions arch/mips/arc/memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,30 +141,20 @@ 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;

if (prom_flags & PROM_FLAG_DONT_FREE_TEMP)
return 0;
return;

for (i = 0; i < boot_mem_map.nr_map; i++) {
if (boot_mem_map.map[i].type != BOOT_MEM_ROM_DATA)
continue;

addr = 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;
}
free_init_pages("prom memory",
addr, addr + boot_mem_map.map[i].size);
}
printk(KERN_INFO "Freeing prom memory: %ldkb freed\n", freed >> 10);

return freed;
}
3 changes: 1 addition & 2 deletions arch/mips/au1000/common/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,9 +149,8 @@ int get_ethernet_addr(char *ethernet_addr)
return 0;
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

EXPORT_SYMBOL(prom_getcmdline);
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/cobalt/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -204,8 +204,7 @@ void __init prom_init(void)
add_memory_region(0x0, memsz, BOOT_MEM_RAM);
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
/* Nothing to do! */
return 0;
}
3 changes: 1 addition & 2 deletions arch/mips/ddb5xxx/common/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,8 @@ void __init prom_init(void)
#endif
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

#if defined(CONFIG_DDB5477)
Expand Down
17 changes: 3 additions & 14 deletions arch/mips/dec/prom/memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ void __init prom_meminit(u32 magic)
rex_setup_memory_region();
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
unsigned long addr, end;
unsigned long end;

/*
* Free everything below the kernel itself but leave
Expand All @@ -114,16 +114,5 @@ unsigned long __init prom_free_prom_memory(void)
#endif
end = __pa(&_text);

addr = PAGE_SIZE;
while (addr < end) {
ClearPageReserved(virt_to_page(__va(addr)));
init_page_count(virt_to_page(__va(addr)));
free_page((unsigned long)__va(addr));
addr += PAGE_SIZE;
}

printk("Freeing unused PROM memory: %ldkb freed\n",
(end - PAGE_SIZE) >> 10);

return end - PAGE_SIZE;
free_init_pages("unused PROM memory", PAGE_SIZE, end);
}
3 changes: 1 addition & 2 deletions arch/mips/gt64120/ev64120/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,8 @@ extern void galileo_machine_power_off(void);
*/
extern struct pci_ops galileo_pci_ops;

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

/*
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/gt64120/momenco_ocelot/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ void __init prom_init(void)
add_memory_region(0, 64 << 20, BOOT_MEM_RAM);
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}
3 changes: 1 addition & 2 deletions arch/mips/gt64120/wrppmc/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,8 @@ void __init wrppmc_early_printk(const char *fmt, ...)
}
#endif /* WRPPMC_EARLY_DEBUG */

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

#ifdef CONFIG_SERIAL_8250
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/jmr3927/common/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ void __init prom_init_cmdline(void)
*cp = '\0';
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}
3 changes: 1 addition & 2 deletions arch/mips/lasat/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,8 @@ void __init prom_init(void)
add_memory_region(0, lasat_board_info.li_memsize, BOOT_MEM_RAM);
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

const char *get_system_type(void)
Expand Down
18 changes: 4 additions & 14 deletions arch/mips/mips-boards/generic/memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,27 +166,17 @@ 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;

for (i = 0; i < boot_mem_map.nr_map; i++) {
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;
}
16 changes: 3 additions & 13 deletions arch/mips/mips-boards/sim/sim_mem.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,27 +99,17 @@ void __init prom_meminit(void)
}
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
int i;
unsigned long freed = 0;
unsigned long addr;

for (i = 0; i < boot_mem_map.nr_map; i++) {
if (boot_mem_map.map[i].type != BOOT_MEM_ROM_DATA)
continue;

addr = 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;
}
free_init_pages("prom memory",
addr, addr + boot_mem_map.map[i].size);
}
printk("Freeing prom memory: %ldkb freed\n", freed >> 10);

return freed;
}
12 changes: 2 additions & 10 deletions arch/mips/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@ void __init mem_init(void)
}
#endif /* !CONFIG_NEED_MULTIPLE_NODES */

static void free_init_pages(char *what, unsigned long begin, unsigned long end)
void free_init_pages(const char *what, unsigned long begin, unsigned long end)
{
unsigned long pfn;

Expand All @@ -493,17 +493,9 @@ void free_initrd_mem(unsigned long start, unsigned long end)
}
#endif

extern unsigned long prom_free_prom_memory(void);

void free_initmem(void)
{
unsigned long freed;

freed = prom_free_prom_memory();
if (freed)
printk(KERN_INFO "Freeing firmware memory: %ldkb freed\n",
freed >> 10);

prom_free_prom_memory();
free_init_pages("unused kernel memory",
__pa_symbol(&__init_begin),
__pa_symbol(&__init_end));
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/momentum/jaguar_atx/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -235,9 +235,8 @@ void __init prom_init(void)
#endif
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/momentum/ocelot_3/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -180,9 +180,8 @@ void __init prom_init(void)
#endif
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/momentum/ocelot_c/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,6 @@ void __init prom_init(void)
#endif
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}
3 changes: 1 addition & 2 deletions arch/mips/momentum/ocelot_g/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ void __init prom_init(void)
}
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}
3 changes: 1 addition & 2 deletions arch/mips/philips/pnx8550/common/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,9 +106,8 @@ int get_ethernet_addr(char *ethernet_addr)
return 0;
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

extern int pnx8550_console_port;
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/pmc-sierra/yosemite/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,8 @@ void __init prom_init(void)
prom_grab_secondary();
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/qemu/q-mem.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#include <linux/init.h>

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0UL;
}
3 changes: 1 addition & 2 deletions arch/mips/sgi-ip22/ip22-mc.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,6 @@ void __init sgimc_init(void)
}

void __init prom_meminit(void) {}
unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}
3 changes: 1 addition & 2 deletions arch/mips/sgi-ip27/ip27-memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -498,10 +498,9 @@ void __init prom_meminit(void)
}
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
/* We got nothing to free here ... */
return 0;
}

extern void pagetable_init(void);
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/sgi-ip32/ip32-memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ void __init prom_meminit (void)
}


unsigned long __init prom_free_prom_memory (void)
void __init prom_free_prom_memory(void)
{
return 0;
}
3 changes: 1 addition & 2 deletions arch/mips/sibyte/cfe/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -343,10 +343,9 @@ void __init prom_init(void)
prom_meminit();
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
/* Not sure what I'm supposed to do here. Nothing, I think */
return 0;
}

void prom_putchar(char c)
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/sibyte/sb1250/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,9 @@ void __init prom_init(void)
prom_meminit();
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
/* Not sure what I'm supposed to do here. Nothing, I think */
return 0;
}

void prom_putchar(char c)
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/sni/sniprom.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,8 @@ void prom_printf(char *fmt, ...)
va_end(args);
}

unsigned long prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

/*
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,8 @@ void __init prom_init(void)
add_memory_region(0, msize << 20, BOOT_MEM_RAM);
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

const char *get_system_type(void)
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/tx4938/toshiba_rbtx4938/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,8 @@ void __init prom_init(void)
return;
}

unsigned long __init prom_free_prom_memory(void)
void __init prom_free_prom_memory(void)
{
return 0;
}

void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
Expand Down
Loading

0 comments on commit c44e8d5

Please sign in to comment.