diff options
author | Mike Rapoport <rppt@linux.vnet.ibm.com> | 2018-10-30 18:09:21 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-31 11:54:16 -0400 |
commit | 2013288f723887837d2f1cebef5fcf663b2319de (patch) | |
tree | 5cf12e95e6889c57987dc984cb634095337a15c0 | |
parent | 6c7835f8d0d1839ca93bd3cf6faa15706f03d604 (diff) |
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>
-rw-r--r-- | arch/alpha/kernel/core_irongate.c | 3 | ||||
-rw-r--r-- | arch/arm64/mm/init.c | 2 | ||||
-rw-r--r-- | arch/mips/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/setup_64.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/smp_64.c | 2 | ||||
-rw-r--r-- | arch/um/kernel/mem.c | 3 | ||||
-rw-r--r-- | arch/unicore32/mm/init.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/setup_percpu.c | 3 | ||||
-rw-r--r-- | arch/x86/kernel/tce_64.c | 3 | ||||
-rw-r--r-- | arch/x86/xen/p2m.c | 3 | ||||
-rw-r--r-- | drivers/macintosh/smu.c | 2 | ||||
-rw-r--r-- | drivers/usb/early/xhci-dbc.c | 11 | ||||
-rw-r--r-- | drivers/xen/swiotlb-xen.c | 4 | ||||
-rw-r--r-- | include/linux/bootmem.h | 4 | ||||
-rw-r--r-- | mm/nobootmem.c | 30 |
15 files changed, 24 insertions, 52 deletions
diff --git a/arch/alpha/kernel/core_irongate.c b/arch/alpha/kernel/core_irongate.c index f70986683fc6..35572be9deb5 100644 --- a/arch/alpha/kernel/core_irongate.c +++ b/arch/alpha/kernel/core_irongate.c | |||
@@ -234,8 +234,7 @@ albacore_init_arch(void) | |||
234 | unsigned long size; | 234 | unsigned long size; |
235 | 235 | ||
236 | size = initrd_end - initrd_start; | 236 | size = initrd_end - initrd_start; |
237 | free_bootmem_node(NODE_DATA(0), __pa(initrd_start), | 237 | memblock_free(__pa(initrd_start), PAGE_ALIGN(size)); |
238 | PAGE_ALIGN(size)); | ||
239 | if (!move_initrd(pci_mem)) | 238 | if (!move_initrd(pci_mem)) |
240 | printk("irongate_init_arch: initrd too big " | 239 | printk("irongate_init_arch: initrd too big " |
241 | "(%ldK)\ndisabling initrd\n", | 240 | "(%ldK)\ndisabling initrd\n", |
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 3cf87341859f..2ddb1c5e988d 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c | |||
@@ -536,7 +536,7 @@ static inline void free_memmap(unsigned long start_pfn, unsigned long end_pfn) | |||
536 | * memmap array. | 536 | * memmap array. |
537 | */ | 537 | */ |
538 | if (pg < pgend) | 538 | if (pg < pgend) |
539 | free_bootmem(pg, pgend - pg); | 539 | memblock_free(pg, pgend - pg); |
540 | } | 540 | } |
541 | 541 | ||
542 | /* | 542 | /* |
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index c1f95359d298..31522d3bc8bf 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c | |||
@@ -561,7 +561,7 @@ static void __init bootmem_init(void) | |||
561 | extern void show_kernel_relocation(const char *level); | 561 | extern void show_kernel_relocation(const char *level); |
562 | 562 | ||
563 | offset = __pa_symbol(_text) - __pa_symbol(VMLINUX_LOAD_ADDRESS); | 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 | #if defined(CONFIG_DEBUG_KERNEL) && defined(CONFIG_DEBUG_INFO) | 566 | #if defined(CONFIG_DEBUG_KERNEL) && defined(CONFIG_DEBUG_INFO) |
567 | /* | 567 | /* |
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 26d7c49a157b..f90ab3ea9af3 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
@@ -771,7 +771,7 @@ static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size, size_t align) | |||
771 | 771 | ||
772 | static void __init pcpu_fc_free(void *ptr, size_t size) | 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 | static int pcpu_cpu_distance(unsigned int from, unsigned int to) | 777 | static int pcpu_cpu_distance(unsigned int from, unsigned int to) |
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index 337febdf94b8..a087a6a25f06 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
@@ -1607,7 +1607,7 @@ static void * __init pcpu_alloc_bootmem(unsigned int cpu, size_t size, | |||
1607 | 1607 | ||
1608 | static void __init pcpu_free_bootmem(void *ptr, size_t size) | 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 | static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) | 1613 | static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) |
diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c index 185f6bb79269..3555c139389c 100644 --- a/arch/um/kernel/mem.c +++ b/arch/um/kernel/mem.c | |||
@@ -6,6 +6,7 @@ | |||
6 | #include <linux/stddef.h> | 6 | #include <linux/stddef.h> |
7 | #include <linux/module.h> | 7 | #include <linux/module.h> |
8 | #include <linux/bootmem.h> | 8 | #include <linux/bootmem.h> |
9 | #include <linux/memblock.h> | ||
9 | #include <linux/highmem.h> | 10 | #include <linux/highmem.h> |
10 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
11 | #include <linux/swap.h> | 12 | #include <linux/swap.h> |
@@ -46,7 +47,7 @@ void __init mem_init(void) | |||
46 | */ | 47 | */ |
47 | brk_end = (unsigned long) UML_ROUND_UP(sbrk(0)); | 48 | brk_end = (unsigned long) UML_ROUND_UP(sbrk(0)); |
48 | map_memory(brk_end, __pa(brk_end), uml_reserved - brk_end, 1, 1, 0); | 49 | map_memory(brk_end, __pa(brk_end), uml_reserved - brk_end, 1, 1, 0); |
49 | free_bootmem(__pa(brk_end), uml_reserved - brk_end); | 50 | memblock_free(__pa(brk_end), uml_reserved - brk_end); |
50 | uml_reserved = brk_end; | 51 | uml_reserved = brk_end; |
51 | 52 | ||
52 | /* this will put all low memory onto the freelists */ | 53 | /* this will put all low memory onto the freelists */ |
diff --git a/arch/unicore32/mm/init.c b/arch/unicore32/mm/init.c index 8f8699e62bd5..4ba51991c7de 100644 --- a/arch/unicore32/mm/init.c +++ b/arch/unicore32/mm/init.c | |||
@@ -238,7 +238,7 @@ free_memmap(unsigned long start_pfn, unsigned long end_pfn) | |||
238 | * free the section of the memmap array. | 238 | * free the section of the memmap array. |
239 | */ | 239 | */ |
240 | if (pg < pgend) | 240 | if (pg < pgend) |
241 | free_bootmem(pg, pgend - pg); | 241 | memblock_free(pg, pgend - pg); |
242 | } | 242 | } |
243 | 243 | ||
244 | /* | 244 | /* |
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c index 041663abc028..a006f1ba4c39 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c | |||
@@ -5,6 +5,7 @@ | |||
5 | #include <linux/export.h> | 5 | #include <linux/export.h> |
6 | #include <linux/init.h> | 6 | #include <linux/init.h> |
7 | #include <linux/bootmem.h> | 7 | #include <linux/bootmem.h> |
8 | #include <linux/memblock.h> | ||
8 | #include <linux/percpu.h> | 9 | #include <linux/percpu.h> |
9 | #include <linux/kexec.h> | 10 | #include <linux/kexec.h> |
10 | #include <linux/crash_dump.h> | 11 | #include <linux/crash_dump.h> |
@@ -135,7 +136,7 @@ static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size, size_t align) | |||
135 | 136 | ||
136 | static void __init pcpu_fc_free(void *ptr, size_t size) | 137 | static void __init pcpu_fc_free(void *ptr, size_t size) |
137 | { | 138 | { |
138 | free_bootmem(__pa(ptr), size); | 139 | memblock_free(__pa(ptr), size); |
139 | } | 140 | } |
140 | 141 | ||
141 | static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) | 142 | static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) |
diff --git a/arch/x86/kernel/tce_64.c b/arch/x86/kernel/tce_64.c index 54c9b5a696b1..75730ce01f8d 100644 --- a/arch/x86/kernel/tce_64.c +++ b/arch/x86/kernel/tce_64.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <linux/pci.h> | 31 | #include <linux/pci.h> |
32 | #include <linux/dma-mapping.h> | 32 | #include <linux/dma-mapping.h> |
33 | #include <linux/bootmem.h> | 33 | #include <linux/bootmem.h> |
34 | #include <linux/memblock.h> | ||
34 | #include <asm/tce.h> | 35 | #include <asm/tce.h> |
35 | #include <asm/calgary.h> | 36 | #include <asm/calgary.h> |
36 | #include <asm/proto.h> | 37 | #include <asm/proto.h> |
@@ -186,5 +187,5 @@ void __init free_tce_table(void *tbl) | |||
186 | size = table_size_to_number_of_entries(specified_table_size); | 187 | size = table_size_to_number_of_entries(specified_table_size); |
187 | size *= TCE_ENTRY_SIZE; | 188 | size *= TCE_ENTRY_SIZE; |
188 | 189 | ||
189 | free_bootmem(__pa(tbl), size); | 190 | memblock_free(__pa(tbl), size); |
190 | } | 191 | } |
diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c index 5de761b4cec8..b3e11afed25b 100644 --- a/arch/x86/xen/p2m.c +++ b/arch/x86/xen/p2m.c | |||
@@ -68,6 +68,7 @@ | |||
68 | #include <linux/sched.h> | 68 | #include <linux/sched.h> |
69 | #include <linux/seq_file.h> | 69 | #include <linux/seq_file.h> |
70 | #include <linux/bootmem.h> | 70 | #include <linux/bootmem.h> |
71 | #include <linux/memblock.h> | ||
71 | #include <linux/slab.h> | 72 | #include <linux/slab.h> |
72 | #include <linux/vmalloc.h> | 73 | #include <linux/vmalloc.h> |
73 | 74 | ||
@@ -190,7 +191,7 @@ static void * __ref alloc_p2m_page(void) | |||
190 | static void __ref free_p2m_page(void *p) | 191 | static void __ref free_p2m_page(void *p) |
191 | { | 192 | { |
192 | if (unlikely(!slab_is_available())) { | 193 | if (unlikely(!slab_is_available())) { |
193 | free_bootmem((unsigned long)p, PAGE_SIZE); | 194 | memblock_free((unsigned long)p, PAGE_SIZE); |
194 | return; | 195 | return; |
195 | } | 196 | } |
196 | 197 | ||
diff --git a/drivers/macintosh/smu.c b/drivers/macintosh/smu.c index 332fcca30944..0069f9084f9f 100644 --- a/drivers/macintosh/smu.c +++ b/drivers/macintosh/smu.c | |||
@@ -569,7 +569,7 @@ fail_msg_node: | |||
569 | fail_db_node: | 569 | fail_db_node: |
570 | of_node_put(smu->db_node); | 570 | of_node_put(smu->db_node); |
571 | fail_bootmem: | 571 | fail_bootmem: |
572 | free_bootmem(__pa(smu), sizeof(struct smu_device)); | 572 | memblock_free(__pa(smu), sizeof(struct smu_device)); |
573 | smu = NULL; | 573 | smu = NULL; |
574 | fail_np: | 574 | fail_np: |
575 | of_node_put(np); | 575 | of_node_put(np); |
diff --git a/drivers/usb/early/xhci-dbc.c b/drivers/usb/early/xhci-dbc.c index 21494c8973b6..ddc5fa88f268 100644 --- a/drivers/usb/early/xhci-dbc.c +++ b/drivers/usb/early/xhci-dbc.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/pci_regs.h> | 13 | #include <linux/pci_regs.h> |
14 | #include <linux/pci_ids.h> | 14 | #include <linux/pci_ids.h> |
15 | #include <linux/bootmem.h> | 15 | #include <linux/bootmem.h> |
16 | #include <linux/memblock.h> | ||
16 | #include <linux/io.h> | 17 | #include <linux/io.h> |
17 | #include <asm/pci-direct.h> | 18 | #include <asm/pci-direct.h> |
18 | #include <asm/fixmap.h> | 19 | #include <asm/fixmap.h> |
@@ -191,7 +192,7 @@ static void __init xdbc_free_ring(struct xdbc_ring *ring) | |||
191 | if (!seg) | 192 | if (!seg) |
192 | return; | 193 | return; |
193 | 194 | ||
194 | free_bootmem(seg->dma, PAGE_SIZE); | 195 | memblock_free(seg->dma, PAGE_SIZE); |
195 | ring->segment = NULL; | 196 | ring->segment = NULL; |
196 | } | 197 | } |
197 | 198 | ||
@@ -675,10 +676,10 @@ int __init early_xdbc_setup_hardware(void) | |||
675 | xdbc_free_ring(&xdbc.in_ring); | 676 | xdbc_free_ring(&xdbc.in_ring); |
676 | 677 | ||
677 | if (xdbc.table_dma) | 678 | if (xdbc.table_dma) |
678 | free_bootmem(xdbc.table_dma, PAGE_SIZE); | 679 | memblock_free(xdbc.table_dma, PAGE_SIZE); |
679 | 680 | ||
680 | if (xdbc.out_dma) | 681 | if (xdbc.out_dma) |
681 | free_bootmem(xdbc.out_dma, PAGE_SIZE); | 682 | memblock_free(xdbc.out_dma, PAGE_SIZE); |
682 | 683 | ||
683 | xdbc.table_base = NULL; | 684 | xdbc.table_base = NULL; |
684 | xdbc.out_buf = NULL; | 685 | xdbc.out_buf = NULL; |
@@ -997,8 +998,8 @@ free_and_quit: | |||
997 | xdbc_free_ring(&xdbc.evt_ring); | 998 | xdbc_free_ring(&xdbc.evt_ring); |
998 | xdbc_free_ring(&xdbc.out_ring); | 999 | xdbc_free_ring(&xdbc.out_ring); |
999 | xdbc_free_ring(&xdbc.in_ring); | 1000 | xdbc_free_ring(&xdbc.in_ring); |
1000 | free_bootmem(xdbc.table_dma, PAGE_SIZE); | 1001 | memblock_free(xdbc.table_dma, PAGE_SIZE); |
1001 | free_bootmem(xdbc.out_dma, PAGE_SIZE); | 1002 | memblock_free(xdbc.out_dma, PAGE_SIZE); |
1002 | writel(0, &xdbc.xdbc_reg->control); | 1003 | writel(0, &xdbc.xdbc_reg->control); |
1003 | early_iounmap(xdbc.xhci_base, xdbc.xhci_length); | 1004 | early_iounmap(xdbc.xhci_base, xdbc.xhci_length); |
1004 | 1005 | ||
diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c index 91a6208ec1a5..c5f26a87d238 100644 --- a/drivers/xen/swiotlb-xen.c +++ b/drivers/xen/swiotlb-xen.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #define pr_fmt(fmt) "xen:" KBUILD_MODNAME ": " fmt | 36 | #define pr_fmt(fmt) "xen:" KBUILD_MODNAME ": " fmt |
37 | 37 | ||
38 | #include <linux/bootmem.h> | 38 | #include <linux/bootmem.h> |
39 | #include <linux/memblock.h> | ||
39 | #include <linux/dma-direct.h> | 40 | #include <linux/dma-direct.h> |
40 | #include <linux/export.h> | 41 | #include <linux/export.h> |
41 | #include <xen/swiotlb-xen.h> | 42 | #include <xen/swiotlb-xen.h> |
@@ -248,7 +249,8 @@ retry: | |||
248 | xen_io_tlb_nslabs); | 249 | xen_io_tlb_nslabs); |
249 | if (rc) { | 250 | if (rc) { |
250 | if (early) | 251 | if (early) |
251 | free_bootmem(__pa(xen_io_tlb_start), PAGE_ALIGN(bytes)); | 252 | memblock_free(__pa(xen_io_tlb_start), |
253 | PAGE_ALIGN(bytes)); | ||
252 | else { | 254 | else { |
253 | free_pages((unsigned long)xen_io_tlb_start, order); | 255 | free_pages((unsigned long)xen_io_tlb_start, order); |
254 | xen_io_tlb_start = NULL; | 256 | xen_io_tlb_start = NULL; |
diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h index 73f1272fce20..706cf8ef6678 100644 --- a/include/linux/bootmem.h +++ b/include/linux/bootmem.h | |||
@@ -30,10 +30,6 @@ extern unsigned long free_all_bootmem(void); | |||
30 | extern void reset_node_managed_pages(pg_data_t *pgdat); | 30 | extern void reset_node_managed_pages(pg_data_t *pgdat); |
31 | extern void reset_all_zones_managed_pages(void); | 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 | extern void free_bootmem_late(unsigned long physaddr, unsigned long size); | 33 | extern void free_bootmem_late(unsigned long physaddr, unsigned long size); |
38 | 34 | ||
39 | /* We are using top down, so it is safe to use 0 here */ | 35 | /* We are using top down, so it is safe to use 0 here */ |
diff --git a/mm/nobootmem.c b/mm/nobootmem.c index bc38e5673d31..85e1822ce918 100644 --- a/mm/nobootmem.c +++ b/mm/nobootmem.c | |||
@@ -150,33 +150,3 @@ unsigned long __init free_all_bootmem(void) | |||
150 | 150 | ||
151 | return pages; | 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 | } | ||