[patch 05/45] memory hotplug: solve config broken: undefined reference to `online_page

Greg KH
2006-07-17T16:34:09Z

[-- Attachment #1: memory-hotplug-solve-config-broken-undefined-reference-to-online_page.patch --]
[-- Type: text/plain, Size: 2584 bytes --]

-stable review patch. If anyone has any objections, please let us know.

------------------
Memory hotplug code of i386 adds memory to only highmem. So, if
CONFIG_HIGHMEM is not set, CONFIG_MEMORY_HOTPLUG shouldn't be set.
Otherwise, it causes compile error.

In addition, many architecture can't use memory hotplug feature yet. So, I
introduce CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG.

Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
arch/i386/Kconfig | 3 +++
arch/ia64/Kconfig | 3 +++
arch/powerpc/Kconfig | 3 +++
arch/x86_64/Kconfig | 2 ++
mm/Kconfig | 2 +-
5 files changed, 12 insertions(+), 1 deletion(-)

--- linux-2.6.17.2.orig/arch/i386/Kconfig
+++ linux-2.6.17.2/arch/i386/Kconfig
@@ -765,6 +765,9 @@ config HOTPLUG_CPU

endmenu

+config ARCH_ENABLE_MEMORY_HOTPLUG
+ def_bool y
+ depends on HIGHMEM

menu "Power management options (ACPI, APM)"
depends on !X86_VOYAGER
--- linux-2.6.17.2.orig/arch/ia64/Kconfig
+++ linux-2.6.17.2/arch/ia64/Kconfig
@@ -270,6 +270,9 @@ config HOTPLUG_CPU
can be controlled through /sys/devices/system/cpu/cpu#.
Say N if you want to disable CPU hotplug.

+config ARCH_ENABLE_MEMORY_HOTPLUG
+ def_bool y
+
config SCHED_SMT
bool "SMT scheduler support"
depends on SMP
--- linux-2.6.17.2.orig/arch/powerpc/Kconfig
+++ linux-2.6.17.2/arch/powerpc/Kconfig
@@ -599,6 +599,9 @@ config HOTPLUG_CPU

Say N if you are unsure.

+config ARCH_ENABLE_MEMORY_HOTPLUG
+ def_bool y
+
config KEXEC
bool "kexec system call (EXPERIMENTAL)"
depends on PPC_MULTIPLATFORM && EXPERIMENTAL
--- linux-2.6.17.2.orig/arch/x86_64/Kconfig
+++ linux-2.6.17.2/arch/x86_64/Kconfig
@@ -369,6 +369,8 @@ config HOTPLUG_CPU
can be controlled through /sys/devices/system/cpu/cpu#.
Say N if you want to disable CPU hotplug.

+config ARCH_ENABLE_MEMORY_HOTPLUG
+ def_bool y

config HPET_TIMER
bool
--- linux-2.6.17.2.orig/mm/Kconfig
+++ linux-2.6.17.2/mm/Kconfig
@@ -115,7 +115,7 @@ config SPARSEMEM_EXTREME
# eventually, we can have this option just 'select SPARSEMEM'
config MEMORY_HOTPLUG
bool "Allow for memory hot-add"
- depends on SPARSEMEM && HOTPLUG && !SOFTWARE_SUSPEND
+ depends on SPARSEMEM && HOTPLUG && !SOFTWARE_SUSPEND && ARCH_ENABLE_MEMORY_HOTPLUG

comment "Memory hotplug is currently incompatible with Software Suspend"
depends on SPARSEMEM && HOTPLUG && SOFTWARE_SUSPEND

--