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

memblock: replace free_bootmem{_node} with memblock_free

The free_bootmem and free_bootmem_node are merely wrappers for
memblock_free. Replace their usage with a call to memblock_free using the
following semantic patch:

@@
expression e1, e2, e3;
@@
(
- free_bootmem(e1, e2)
+ memblock_free(e1, e2)
|
- free_bootmem_node(e1, e2, e3)
+ memblock_free(e2, e3)
)

Link: http://lkml.kernel.org/r/1536927045-23536-24-git-send-email-rppt@linux.vnet.ibm.com
Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greentime Hu <green.hu@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Guan Xuetao <gxt@pku.edu.cn>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
Cc: Jonas Bonn <jonas@southpole.se>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Ley Foon Tan <lftan@altera.com>
Cc: Mark Salter <msalter@redhat.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Paul Burton <paul.burton@mips.com>
Cc: Richard Kuo <rkuo@codeaurora.org>
Cc: Richard Weinberger <richard@nod.at>
Cc: Rich Felker <dalias@libc.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Serge Semin <fancer.lancer@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Mike Rapoport and committed by
Linus Torvalds
2013288f 6c7835f8

+24 -52
+1 -2
arch/alpha/kernel/core_irongate.c
··· 234 234 unsigned long size; 235 235 236 236 size = initrd_end - initrd_start; 237 - free_bootmem_node(NODE_DATA(0), __pa(initrd_start), 238 - PAGE_ALIGN(size)); 237 + memblock_free(__pa(initrd_start), PAGE_ALIGN(size)); 239 238 if (!move_initrd(pci_mem)) 240 239 printk("irongate_init_arch: initrd too big " 241 240 "(%ldK)\ndisabling initrd\n",
+1 -1
arch/arm64/mm/init.c
··· 536 536 * memmap array. 537 537 */ 538 538 if (pg < pgend) 539 - free_bootmem(pg, pgend - pg); 539 + memblock_free(pg, pgend - pg); 540 540 } 541 541 542 542 /*
+1 -1
arch/mips/kernel/setup.c
··· 561 561 extern void show_kernel_relocation(const char *level); 562 562 563 563 offset = __pa_symbol(_text) - __pa_symbol(VMLINUX_LOAD_ADDRESS); 564 - free_bootmem(__pa_symbol(VMLINUX_LOAD_ADDRESS), offset); 564 + memblock_free(__pa_symbol(VMLINUX_LOAD_ADDRESS), offset); 565 565 566 566 #if defined(CONFIG_DEBUG_KERNEL) && defined(CONFIG_DEBUG_INFO) 567 567 /*
+1 -1
arch/powerpc/kernel/setup_64.c
··· 771 771 772 772 static void __init pcpu_fc_free(void *ptr, size_t size) 773 773 { 774 - free_bootmem(__pa(ptr), size); 774 + memblock_free(__pa(ptr), size); 775 775 } 776 776 777 777 static int pcpu_cpu_distance(unsigned int from, unsigned int to)
+1 -1
arch/sparc/kernel/smp_64.c
··· 1607 1607 1608 1608 static void __init pcpu_free_bootmem(void *ptr, size_t size) 1609 1609 { 1610 - free_bootmem(__pa(ptr), size); 1610 + memblock_free(__pa(ptr), size); 1611 1611 } 1612 1612 1613 1613 static int __init pcpu_cpu_distance(unsigned int from, unsigned int to)
+2 -1
arch/um/kernel/mem.c
··· 6 6 #include <linux/stddef.h> 7 7 #include <linux/module.h> 8 8 #include <linux/bootmem.h> 9 + #include <linux/memblock.h> 9 10 #include <linux/highmem.h> 10 11 #include <linux/mm.h> 11 12 #include <linux/swap.h> ··· 47 46 */ 48 47 brk_end = (unsigned long) UML_ROUND_UP(sbrk(0)); 49 48 map_memory(brk_end, __pa(brk_end), uml_reserved - brk_end, 1, 1, 0); 50 - free_bootmem(__pa(brk_end), uml_reserved - brk_end); 49 + memblock_free(__pa(brk_end), uml_reserved - brk_end); 51 50 uml_reserved = brk_end; 52 51 53 52 /* this will put all low memory onto the freelists */
+1 -1
arch/unicore32/mm/init.c
··· 238 238 * free the section of the memmap array. 239 239 */ 240 240 if (pg < pgend) 241 - free_bootmem(pg, pgend - pg); 241 + memblock_free(pg, pgend - pg); 242 242 } 243 243 244 244 /*
+2 -1
arch/x86/kernel/setup_percpu.c
··· 5 5 #include <linux/export.h> 6 6 #include <linux/init.h> 7 7 #include <linux/bootmem.h> 8 + #include <linux/memblock.h> 8 9 #include <linux/percpu.h> 9 10 #include <linux/kexec.h> 10 11 #include <linux/crash_dump.h> ··· 136 135 137 136 static void __init pcpu_fc_free(void *ptr, size_t size) 138 137 { 139 - free_bootmem(__pa(ptr), size); 138 + memblock_free(__pa(ptr), size); 140 139 } 141 140 142 141 static int __init pcpu_cpu_distance(unsigned int from, unsigned int to)
+2 -1
arch/x86/kernel/tce_64.c
··· 31 31 #include <linux/pci.h> 32 32 #include <linux/dma-mapping.h> 33 33 #include <linux/bootmem.h> 34 + #include <linux/memblock.h> 34 35 #include <asm/tce.h> 35 36 #include <asm/calgary.h> 36 37 #include <asm/proto.h> ··· 187 186 size = table_size_to_number_of_entries(specified_table_size); 188 187 size *= TCE_ENTRY_SIZE; 189 188 190 - free_bootmem(__pa(tbl), size); 189 + memblock_free(__pa(tbl), size); 191 190 }
+2 -1
arch/x86/xen/p2m.c
··· 68 68 #include <linux/sched.h> 69 69 #include <linux/seq_file.h> 70 70 #include <linux/bootmem.h> 71 + #include <linux/memblock.h> 71 72 #include <linux/slab.h> 72 73 #include <linux/vmalloc.h> 73 74 ··· 191 190 static void __ref free_p2m_page(void *p) 192 191 { 193 192 if (unlikely(!slab_is_available())) { 194 - free_bootmem((unsigned long)p, PAGE_SIZE); 193 + memblock_free((unsigned long)p, PAGE_SIZE); 195 194 return; 196 195 } 197 196
+1 -1
drivers/macintosh/smu.c
··· 569 569 fail_db_node: 570 570 of_node_put(smu->db_node); 571 571 fail_bootmem: 572 - free_bootmem(__pa(smu), sizeof(struct smu_device)); 572 + memblock_free(__pa(smu), sizeof(struct smu_device)); 573 573 smu = NULL; 574 574 fail_np: 575 575 of_node_put(np);
+6 -5
drivers/usb/early/xhci-dbc.c
··· 13 13 #include <linux/pci_regs.h> 14 14 #include <linux/pci_ids.h> 15 15 #include <linux/bootmem.h> 16 + #include <linux/memblock.h> 16 17 #include <linux/io.h> 17 18 #include <asm/pci-direct.h> 18 19 #include <asm/fixmap.h> ··· 192 191 if (!seg) 193 192 return; 194 193 195 - free_bootmem(seg->dma, PAGE_SIZE); 194 + memblock_free(seg->dma, PAGE_SIZE); 196 195 ring->segment = NULL; 197 196 } 198 197 ··· 676 675 xdbc_free_ring(&xdbc.in_ring); 677 676 678 677 if (xdbc.table_dma) 679 - free_bootmem(xdbc.table_dma, PAGE_SIZE); 678 + memblock_free(xdbc.table_dma, PAGE_SIZE); 680 679 681 680 if (xdbc.out_dma) 682 - free_bootmem(xdbc.out_dma, PAGE_SIZE); 681 + memblock_free(xdbc.out_dma, PAGE_SIZE); 683 682 684 683 xdbc.table_base = NULL; 685 684 xdbc.out_buf = NULL; ··· 998 997 xdbc_free_ring(&xdbc.evt_ring); 999 998 xdbc_free_ring(&xdbc.out_ring); 1000 999 xdbc_free_ring(&xdbc.in_ring); 1001 - free_bootmem(xdbc.table_dma, PAGE_SIZE); 1002 - free_bootmem(xdbc.out_dma, PAGE_SIZE); 1000 + memblock_free(xdbc.table_dma, PAGE_SIZE); 1001 + memblock_free(xdbc.out_dma, PAGE_SIZE); 1003 1002 writel(0, &xdbc.xdbc_reg->control); 1004 1003 early_iounmap(xdbc.xhci_base, xdbc.xhci_length); 1005 1004
+3 -1
drivers/xen/swiotlb-xen.c
··· 36 36 #define pr_fmt(fmt) "xen:" KBUILD_MODNAME ": " fmt 37 37 38 38 #include <linux/bootmem.h> 39 + #include <linux/memblock.h> 39 40 #include <linux/dma-direct.h> 40 41 #include <linux/export.h> 41 42 #include <xen/swiotlb-xen.h> ··· 249 248 xen_io_tlb_nslabs); 250 249 if (rc) { 251 250 if (early) 252 - free_bootmem(__pa(xen_io_tlb_start), PAGE_ALIGN(bytes)); 251 + memblock_free(__pa(xen_io_tlb_start), 252 + PAGE_ALIGN(bytes)); 253 253 else { 254 254 free_pages((unsigned long)xen_io_tlb_start, order); 255 255 xen_io_tlb_start = NULL;
-4
include/linux/bootmem.h
··· 30 30 extern void reset_node_managed_pages(pg_data_t *pgdat); 31 31 extern void reset_all_zones_managed_pages(void); 32 32 33 - extern void free_bootmem_node(pg_data_t *pgdat, 34 - unsigned long addr, 35 - unsigned long size); 36 - extern void free_bootmem(unsigned long physaddr, unsigned long size); 37 33 extern void free_bootmem_late(unsigned long physaddr, unsigned long size); 38 34 39 35 /* We are using top down, so it is safe to use 0 here */
-30
mm/nobootmem.c
··· 150 150 151 151 return pages; 152 152 } 153 - 154 - /** 155 - * free_bootmem_node - mark a page range as usable 156 - * @pgdat: node the range resides on 157 - * @physaddr: starting physical address of the range 158 - * @size: size of the range in bytes 159 - * 160 - * Partial pages will be considered reserved and left as they are. 161 - * 162 - * The range must reside completely on the specified node. 163 - */ 164 - void __init free_bootmem_node(pg_data_t *pgdat, unsigned long physaddr, 165 - unsigned long size) 166 - { 167 - memblock_free(physaddr, size); 168 - } 169 - 170 - /** 171 - * free_bootmem - mark a page range as usable 172 - * @addr: starting physical address of the range 173 - * @size: size of the range in bytes 174 - * 175 - * Partial pages will be considered reserved and left as they are. 176 - * 177 - * The range must be contiguous but may span node boundaries. 178 - */ 179 - void __init free_bootmem(unsigned long addr, unsigned long size) 180 - { 181 - memblock_free(addr, size); 182 - }