diff options
Diffstat (limited to 'mm/memory_hotplug.c')
-rw-r--r-- | mm/memory_hotplug.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index cba36ef0d506..c4ba85c8cb00 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c | |||
@@ -198,6 +198,16 @@ static int __add_section(struct zone *zone, unsigned long phys_start_pfn) | |||
198 | return register_new_memory(__pfn_to_section(phys_start_pfn)); | 198 | return register_new_memory(__pfn_to_section(phys_start_pfn)); |
199 | } | 199 | } |
200 | 200 | ||
201 | #ifdef CONFIG_SPARSEMEM_VMEMMAP | ||
202 | static int __remove_section(struct zone *zone, struct mem_section *ms) | ||
203 | { | ||
204 | /* | ||
205 | * XXX: Freeing memmap with vmemmap is not implement yet. | ||
206 | * This should be removed later. | ||
207 | */ | ||
208 | return -EBUSY; | ||
209 | } | ||
210 | #else | ||
201 | static int __remove_section(struct zone *zone, struct mem_section *ms) | 211 | static int __remove_section(struct zone *zone, struct mem_section *ms) |
202 | { | 212 | { |
203 | unsigned long flags; | 213 | unsigned long flags; |
@@ -216,6 +226,7 @@ static int __remove_section(struct zone *zone, struct mem_section *ms) | |||
216 | pgdat_resize_unlock(pgdat, &flags); | 226 | pgdat_resize_unlock(pgdat, &flags); |
217 | return 0; | 227 | return 0; |
218 | } | 228 | } |
229 | #endif | ||
219 | 230 | ||
220 | /* | 231 | /* |
221 | * Reasonably generic function for adding memory. It is | 232 | * Reasonably generic function for adding memory. It is |