Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[MIPS] prom_free_prom_memory cleanup

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>

authored by

Atsushi Nemoto and committed by
Ralf Baechle
c44e8d5e 2fa7937b

+44 -114
+4 -14
arch/mips/arc/memory.c
··· 141 141 } 142 142 } 143 143 144 - unsigned long __init prom_free_prom_memory(void) 144 + void __init prom_free_prom_memory(void) 145 145 { 146 - unsigned long freed = 0; 147 146 unsigned long addr; 148 147 int i; 149 148 150 149 if (prom_flags & PROM_FLAG_DONT_FREE_TEMP) 151 - return 0; 150 + return; 152 151 153 152 for (i = 0; i < boot_mem_map.nr_map; i++) { 154 153 if (boot_mem_map.map[i].type != BOOT_MEM_ROM_DATA) 155 154 continue; 156 155 157 156 addr = boot_mem_map.map[i].addr; 158 - while (addr < boot_mem_map.map[i].addr 159 - + boot_mem_map.map[i].size) { 160 - ClearPageReserved(virt_to_page(__va(addr))); 161 - init_page_count(virt_to_page(__va(addr))); 162 - free_page((unsigned long)__va(addr)); 163 - addr += PAGE_SIZE; 164 - freed += PAGE_SIZE; 165 - } 157 + free_init_pages("prom memory", 158 + addr, addr + boot_mem_map.map[i].size); 166 159 } 167 - printk(KERN_INFO "Freeing prom memory: %ldkb freed\n", freed >> 10); 168 - 169 - return freed; 170 160 }
+1 -2
arch/mips/au1000/common/prom.c
··· 149 149 return 0; 150 150 } 151 151 152 - unsigned long __init prom_free_prom_memory(void) 152 + void __init prom_free_prom_memory(void) 153 153 { 154 - return 0; 155 154 } 156 155 157 156 EXPORT_SYMBOL(prom_getcmdline);
+1 -2
arch/mips/cobalt/setup.c
··· 204 204 add_memory_region(0x0, memsz, BOOT_MEM_RAM); 205 205 } 206 206 207 - unsigned long __init prom_free_prom_memory(void) 207 + void __init prom_free_prom_memory(void) 208 208 { 209 209 /* Nothing to do! */ 210 - return 0; 211 210 }
+1 -2
arch/mips/ddb5xxx/common/prom.c
··· 59 59 #endif 60 60 } 61 61 62 - unsigned long __init prom_free_prom_memory(void) 62 + void __init prom_free_prom_memory(void) 63 63 { 64 - return 0; 65 64 } 66 65 67 66 #if defined(CONFIG_DDB5477)
+3 -14
arch/mips/dec/prom/memory.c
··· 92 92 rex_setup_memory_region(); 93 93 } 94 94 95 - unsigned long __init prom_free_prom_memory(void) 95 + void __init prom_free_prom_memory(void) 96 96 { 97 - unsigned long addr, end; 97 + unsigned long end; 98 98 99 99 /* 100 100 * Free everything below the kernel itself but leave ··· 114 114 #endif 115 115 end = __pa(&_text); 116 116 117 - addr = PAGE_SIZE; 118 - while (addr < end) { 119 - ClearPageReserved(virt_to_page(__va(addr))); 120 - init_page_count(virt_to_page(__va(addr))); 121 - free_page((unsigned long)__va(addr)); 122 - addr += PAGE_SIZE; 123 - } 124 - 125 - printk("Freeing unused PROM memory: %ldkb freed\n", 126 - (end - PAGE_SIZE) >> 10); 127 - 128 - return end - PAGE_SIZE; 117 + free_init_pages("unused PROM memory", PAGE_SIZE, end); 129 118 }
+1 -2
arch/mips/gt64120/ev64120/setup.c
··· 59 59 */ 60 60 extern struct pci_ops galileo_pci_ops; 61 61 62 - unsigned long __init prom_free_prom_memory(void) 62 + void __init prom_free_prom_memory(void) 63 63 { 64 - return 0; 65 64 } 66 65 67 66 /*
+1 -2
arch/mips/gt64120/momenco_ocelot/prom.c
··· 67 67 add_memory_region(0, 64 << 20, BOOT_MEM_RAM); 68 68 } 69 69 70 - unsigned long __init prom_free_prom_memory(void) 70 + void __init prom_free_prom_memory(void) 71 71 { 72 - return 0; 73 72 }
+1 -2
arch/mips/gt64120/wrppmc/setup.c
··· 93 93 } 94 94 #endif /* WRPPMC_EARLY_DEBUG */ 95 95 96 - unsigned long __init prom_free_prom_memory(void) 96 + void __init prom_free_prom_memory(void) 97 97 { 98 - return 0; 99 98 } 100 99 101 100 #ifdef CONFIG_SERIAL_8250
+1 -2
arch/mips/jmr3927/common/prom.c
··· 75 75 *cp = '\0'; 76 76 } 77 77 78 - unsigned long __init prom_free_prom_memory(void) 78 + void __init prom_free_prom_memory(void) 79 79 { 80 - return 0; 81 80 }
+1 -2
arch/mips/lasat/prom.c
··· 132 132 add_memory_region(0, lasat_board_info.li_memsize, BOOT_MEM_RAM); 133 133 } 134 134 135 - unsigned long __init prom_free_prom_memory(void) 135 + void __init prom_free_prom_memory(void) 136 136 { 137 - return 0; 138 137 } 139 138 140 139 const char *get_system_type(void)
+4 -14
arch/mips/mips-boards/generic/memory.c
··· 166 166 } 167 167 } 168 168 169 - unsigned long __init prom_free_prom_memory(void) 169 + void __init prom_free_prom_memory(void) 170 170 { 171 - unsigned long freed = 0; 172 171 unsigned long addr; 173 172 int i; 174 173 ··· 175 176 if (boot_mem_map.map[i].type != BOOT_MEM_ROM_DATA) 176 177 continue; 177 178 178 - addr = PAGE_ALIGN(boot_mem_map.map[i].addr); 179 - while (addr < boot_mem_map.map[i].addr 180 - + boot_mem_map.map[i].size) { 181 - ClearPageReserved(virt_to_page(__va(addr))); 182 - init_page_count(virt_to_page(__va(addr))); 183 - free_page((unsigned long)__va(addr)); 184 - addr += PAGE_SIZE; 185 - freed += PAGE_SIZE; 186 - } 179 + addr = boot_mem_map.map[i].addr; 180 + free_init_pages("prom memory", 181 + addr, addr + boot_mem_map.map[i].size); 187 182 } 188 - printk("Freeing prom memory: %ldkb freed\n", freed >> 10); 189 - 190 - return freed; 191 183 }
+3 -13
arch/mips/mips-boards/sim/sim_mem.c
··· 99 99 } 100 100 } 101 101 102 - unsigned long __init prom_free_prom_memory(void) 102 + void __init prom_free_prom_memory(void) 103 103 { 104 104 int i; 105 - unsigned long freed = 0; 106 105 unsigned long addr; 107 106 108 107 for (i = 0; i < boot_mem_map.nr_map; i++) { ··· 109 110 continue; 110 111 111 112 addr = boot_mem_map.map[i].addr; 112 - while (addr < boot_mem_map.map[i].addr 113 - + boot_mem_map.map[i].size) { 114 - ClearPageReserved(virt_to_page(__va(addr))); 115 - init_page_count(virt_to_page(__va(addr))); 116 - free_page((unsigned long)__va(addr)); 117 - addr += PAGE_SIZE; 118 - freed += PAGE_SIZE; 119 - } 113 + free_init_pages("prom memory", 114 + addr, addr + boot_mem_map.map[i].size); 120 115 } 121 - printk("Freeing prom memory: %ldkb freed\n", freed >> 10); 122 - 123 - return freed; 124 116 }
+2 -10
arch/mips/mm/init.c
··· 467 467 } 468 468 #endif /* !CONFIG_NEED_MULTIPLE_NODES */ 469 469 470 - static void free_init_pages(char *what, unsigned long begin, unsigned long end) 470 + void free_init_pages(const char *what, unsigned long begin, unsigned long end) 471 471 { 472 472 unsigned long pfn; 473 473 ··· 493 493 } 494 494 #endif 495 495 496 - extern unsigned long prom_free_prom_memory(void); 497 - 498 496 void free_initmem(void) 499 497 { 500 - unsigned long freed; 501 - 502 - freed = prom_free_prom_memory(); 503 - if (freed) 504 - printk(KERN_INFO "Freeing firmware memory: %ldkb freed\n", 505 - freed >> 10); 506 - 498 + prom_free_prom_memory(); 507 499 free_init_pages("unused kernel memory", 508 500 __pa_symbol(&__init_begin), 509 501 __pa_symbol(&__init_end));
+1 -2
arch/mips/momentum/jaguar_atx/prom.c
··· 235 235 #endif 236 236 } 237 237 238 - unsigned long __init prom_free_prom_memory(void) 238 + void __init prom_free_prom_memory(void) 239 239 { 240 - return 0; 241 240 } 242 241 243 242 void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
+1 -2
arch/mips/momentum/ocelot_3/prom.c
··· 180 180 #endif 181 181 } 182 182 183 - unsigned long __init prom_free_prom_memory(void) 183 + void __init prom_free_prom_memory(void) 184 184 { 185 - return 0; 186 185 } 187 186 188 187 void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
+1 -2
arch/mips/momentum/ocelot_c/prom.c
··· 178 178 #endif 179 179 } 180 180 181 - unsigned long __init prom_free_prom_memory(void) 181 + void __init prom_free_prom_memory(void) 182 182 { 183 - return 0; 184 183 }
+1 -2
arch/mips/momentum/ocelot_g/prom.c
··· 79 79 } 80 80 } 81 81 82 - unsigned long __init prom_free_prom_memory(void) 82 + void __init prom_free_prom_memory(void) 83 83 { 84 - return 0; 85 84 }
+1 -2
arch/mips/philips/pnx8550/common/prom.c
··· 106 106 return 0; 107 107 } 108 108 109 - unsigned long __init prom_free_prom_memory(void) 109 + void __init prom_free_prom_memory(void) 110 110 { 111 - return 0; 112 111 } 113 112 114 113 extern int pnx8550_console_port;
+1 -2
arch/mips/pmc-sierra/yosemite/prom.c
··· 132 132 prom_grab_secondary(); 133 133 } 134 134 135 - unsigned long __init prom_free_prom_memory(void) 135 + void __init prom_free_prom_memory(void) 136 136 { 137 - return 0; 138 137 } 139 138 140 139 void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
+1 -2
arch/mips/qemu/q-mem.c
··· 1 1 #include <linux/init.h> 2 2 3 - unsigned long __init prom_free_prom_memory(void) 3 + void __init prom_free_prom_memory(void) 4 4 { 5 - return 0UL; 6 5 }
+1 -2
arch/mips/sgi-ip22/ip22-mc.c
··· 202 202 } 203 203 204 204 void __init prom_meminit(void) {} 205 - unsigned long __init prom_free_prom_memory(void) 205 + void __init prom_free_prom_memory(void) 206 206 { 207 - return 0; 208 207 }
+1 -2
arch/mips/sgi-ip27/ip27-memory.c
··· 498 498 } 499 499 } 500 500 501 - unsigned long __init prom_free_prom_memory(void) 501 + void __init prom_free_prom_memory(void) 502 502 { 503 503 /* We got nothing to free here ... */ 504 - return 0; 505 504 } 506 505 507 506 extern void pagetable_init(void);
+1 -2
arch/mips/sgi-ip32/ip32-memory.c
··· 43 43 } 44 44 45 45 46 - unsigned long __init prom_free_prom_memory (void) 46 + void __init prom_free_prom_memory(void) 47 47 { 48 - return 0; 49 48 }
+1 -2
arch/mips/sibyte/cfe/setup.c
··· 343 343 prom_meminit(); 344 344 } 345 345 346 - unsigned long __init prom_free_prom_memory(void) 346 + void __init prom_free_prom_memory(void) 347 347 { 348 348 /* Not sure what I'm supposed to do here. Nothing, I think */ 349 - return 0; 350 349 } 351 350 352 351 void prom_putchar(char c)
+1 -2
arch/mips/sibyte/sb1250/prom.c
··· 87 87 prom_meminit(); 88 88 } 89 89 90 - unsigned long __init prom_free_prom_memory(void) 90 + void __init prom_free_prom_memory(void) 91 91 { 92 92 /* Not sure what I'm supposed to do here. Nothing, I think */ 93 - return 0; 94 93 } 95 94 96 95 void prom_putchar(char c)
+1 -2
arch/mips/sni/sniprom.c
··· 67 67 va_end(args); 68 68 } 69 69 70 - unsigned long prom_free_prom_memory(void) 70 + void __init prom_free_prom_memory(void) 71 71 { 72 - return 0; 73 72 } 74 73 75 74 /*
+1 -2
arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_prom.c
··· 80 80 add_memory_region(0, msize << 20, BOOT_MEM_RAM); 81 81 } 82 82 83 - unsigned long __init prom_free_prom_memory(void) 83 + void __init prom_free_prom_memory(void) 84 84 { 85 - return 0; 86 85 } 87 86 88 87 const char *get_system_type(void)
+1 -2
arch/mips/tx4938/toshiba_rbtx4938/prom.c
··· 56 56 return; 57 57 } 58 58 59 - unsigned long __init prom_free_prom_memory(void) 59 + void __init prom_free_prom_memory(void) 60 60 { 61 - return 0; 62 61 } 63 62 64 63 void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
+1 -2
arch/mips/vr41xx/common/init.c
··· 81 81 } 82 82 } 83 83 84 - unsigned long __init prom_free_prom_memory (void) 84 + void __init prom_free_prom_memory(void) 85 85 { 86 - return 0UL; 87 86 }
+4
include/asm-mips/bootinfo.h
··· 243 243 extern void add_memory_region(phys_t start, phys_t size, long type); 244 244 245 245 extern void prom_init(void); 246 + extern void prom_free_prom_memory(void); 247 + 248 + extern void free_init_pages(const char *what, 249 + unsigned long begin, unsigned long end); 246 250 247 251 /* 248 252 * Initial kernel command line, usually setup by prom_init()
-1
include/asm-mips/mips-boards/prom.h
··· 33 33 extern void prom_init_cmdline(void); 34 34 extern void prom_meminit(void); 35 35 extern void prom_fixup_mem_map(unsigned long start_mem, unsigned long end_mem); 36 - extern unsigned long prom_free_prom_memory (void); 37 36 extern void mips_display_message(const char *str); 38 37 extern void mips_display_word(unsigned int num); 39 38 extern int get_ethernet_addr(char *ethernet_addr);