aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/Kconfig1
-rw-r--r--arch/x86/include/asm/memblock.h2
-rw-r--r--include/linux/memblock.h2
-rw-r--r--mm/Kconfig3
-rw-r--r--mm/memblock.c2
5 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 97f08941dd7..28116d4f7b6 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -26,6 +26,7 @@ config X86
26 select HAVE_KPROBES 26 select HAVE_KPROBES
27 select HAVE_MEMBLOCK 27 select HAVE_MEMBLOCK
28 select HAVE_MEMBLOCK_NODE_MAP 28 select HAVE_MEMBLOCK_NODE_MAP
29 select ARCH_DISCARD_MEMBLOCK
29 select ARCH_WANT_OPTIONAL_GPIOLIB 30 select ARCH_WANT_OPTIONAL_GPIOLIB
30 select ARCH_WANT_FRAME_POINTERS 31 select ARCH_WANT_FRAME_POINTERS
31 select HAVE_DMA_ATTRS 32 select HAVE_DMA_ATTRS
diff --git a/arch/x86/include/asm/memblock.h b/arch/x86/include/asm/memblock.h
index 17a882e90ad..bc5667081ae 100644
--- a/arch/x86/include/asm/memblock.h
+++ b/arch/x86/include/asm/memblock.h
@@ -1,8 +1,6 @@
1#ifndef _X86_MEMBLOCK_H 1#ifndef _X86_MEMBLOCK_H
2#define _X86_MEMBLOCK_H 2#define _X86_MEMBLOCK_H
3 3
4#define ARCH_DISCARD_MEMBLOCK
5
6void memblock_x86_reserve_range(u64 start, u64 end, char *name); 4void memblock_x86_reserve_range(u64 start, u64 end, char *name);
7void memblock_x86_free_range(u64 start, u64 end); 5void memblock_x86_free_range(u64 start, u64 end);
8 6
diff --git a/include/linux/memblock.h b/include/linux/memblock.h
index 31def584cce..2491355bb6e 100644
--- a/include/linux/memblock.h
+++ b/include/linux/memblock.h
@@ -197,7 +197,7 @@ static inline unsigned long memblock_region_reserved_end_pfn(const struct memblo
197 region++) 197 region++)
198 198
199 199
200#ifdef ARCH_DISCARD_MEMBLOCK 200#ifdef CONFIG_ARCH_DISCARD_MEMBLOCK
201#define __init_memblock __meminit 201#define __init_memblock __meminit
202#define __initdata_memblock __meminitdata 202#define __initdata_memblock __meminitdata
203#else 203#else
diff --git a/mm/Kconfig b/mm/Kconfig
index 30a5d4792b8..7c5697116fc 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -134,6 +134,9 @@ config HAVE_MEMBLOCK
134config HAVE_MEMBLOCK_NODE_MAP 134config HAVE_MEMBLOCK_NODE_MAP
135 boolean 135 boolean
136 136
137config ARCH_DISCARD_MEMBLOCK
138 boolean
139
137# eventually, we can have this option just 'select SPARSEMEM' 140# eventually, we can have this option just 'select SPARSEMEM'
138config MEMORY_HOTPLUG 141config MEMORY_HOTPLUG
139 bool "Allow for memory hot-add" 142 bool "Allow for memory hot-add"
diff --git a/mm/memblock.c b/mm/memblock.c
index c4a8750406f..ebc6119f128 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -959,7 +959,7 @@ static int __init early_memblock(char *p)
959} 959}
960early_param("memblock", early_memblock); 960early_param("memblock", early_memblock);
961 961
962#if defined(CONFIG_DEBUG_FS) && !defined(ARCH_DISCARD_MEMBLOCK) 962#if defined(CONFIG_DEBUG_FS) && !defined(CONFIG_ARCH_DISCARD_MEMBLOCK)
963 963
964static int memblock_debug_show(struct seq_file *m, void *private) 964static int memblock_debug_show(struct seq_file *m, void *private)
965{ 965{