diff options
author | KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> | 2007-10-16 04:26:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 12:43:02 -0400 |
commit | 48e94196a533dbee17c252bf80d0310fb8c8c2eb (patch) | |
tree | 9b29060b0e2600dc7da645fd436dc94c25d1fb36 /arch/x86 | |
parent | de33b821f34dc9e2fabf81a8ba464f3ef039bd00 (diff) |
fix memory hot remove not configured case.
Now, arch dependent code around CONFIG_MEMORY_HOTREMOVE is a mess.
This patch cleans up them. This is against 2.6.23-rc6-mm1.
- fix compile failure on ia64/ CONFIG_MEMORY_HOTPLUG && !CONFIG_MEMORY_HOTREMOVE case.
- For !CONFIG_MEMORY_HOTREMOVE, add generic no-op remove_memory(),
which returns -EINVAL.
- removed remove_pages() only used in powerpc.
- removed no-op remove_memory() in i386, sh, sparc64, x86_64.
- only powerpc returns -ENOSYS at memory hot remove(no-op). changes it
to return -EINVAL.
Note:
Currently, only ia64 supports CONFIG_MEMORY_HOTREMOVE. I welcome other
archs if there are requirements and testers.
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/mm/init_32.c | 5 | ||||
-rw-r--r-- | arch/x86/mm/init_64.c | 6 |
2 files changed, 0 insertions, 11 deletions
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c index 730a5b177b1f..dda4e83649a0 100644 --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c | |||
@@ -735,11 +735,6 @@ int arch_add_memory(int nid, u64 start, u64 size) | |||
735 | return __add_pages(zone, start_pfn, nr_pages); | 735 | return __add_pages(zone, start_pfn, nr_pages); |
736 | } | 736 | } |
737 | 737 | ||
738 | int remove_memory(u64 start, u64 size) | ||
739 | { | ||
740 | return -EINVAL; | ||
741 | } | ||
742 | EXPORT_SYMBOL_GPL(remove_memory); | ||
743 | #endif | 738 | #endif |
744 | 739 | ||
745 | struct kmem_cache *pmd_cache; | 740 | struct kmem_cache *pmd_cache; |
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 7d4fc633a9c9..1e3862e41065 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c | |||
@@ -474,12 +474,6 @@ error: | |||
474 | } | 474 | } |
475 | EXPORT_SYMBOL_GPL(arch_add_memory); | 475 | EXPORT_SYMBOL_GPL(arch_add_memory); |
476 | 476 | ||
477 | int remove_memory(u64 start, u64 size) | ||
478 | { | ||
479 | return -EINVAL; | ||
480 | } | ||
481 | EXPORT_SYMBOL_GPL(remove_memory); | ||
482 | |||
483 | #if !defined(CONFIG_ACPI_NUMA) && defined(CONFIG_NUMA) | 477 | #if !defined(CONFIG_ACPI_NUMA) && defined(CONFIG_NUMA) |
484 | int memory_add_physaddr_to_nid(u64 start) | 478 | int memory_add_physaddr_to_nid(u64 start) |
485 | { | 479 | { |