77 return 0; |
77 return 0; |
78 } |
78 } |
79 #else |
79 #else |
80 extern int register_memory_notifier(struct notifier_block *nb); |
80 extern int register_memory_notifier(struct notifier_block *nb); |
81 extern void unregister_memory_notifier(struct notifier_block *nb); |
81 extern void unregister_memory_notifier(struct notifier_block *nb); |
82 extern int register_new_memory(struct mem_section *); |
82 extern int register_new_memory(int, struct mem_section *); |
83 extern int unregister_memory_section(struct mem_section *); |
83 extern int unregister_memory_section(struct mem_section *); |
84 extern int memory_dev_init(void); |
84 extern int memory_dev_init(void); |
85 extern int remove_memory_block(unsigned long, struct mem_section *, int); |
85 extern int remove_memory_block(unsigned long, struct mem_section *, int); |
86 extern int memory_notify(unsigned long val, void *v); |
86 extern int memory_notify(unsigned long val, void *v); |
|
87 extern struct memory_block *find_memory_block(struct mem_section *); |
87 #define CONFIG_MEM_BLOCK_SIZE (PAGES_PER_SECTION<<PAGE_SHIFT) |
88 #define CONFIG_MEM_BLOCK_SIZE (PAGES_PER_SECTION<<PAGE_SHIFT) |
88 |
89 enum mem_add_context { BOOT, HOTPLUG }; |
89 |
|
90 #endif /* CONFIG_MEMORY_HOTPLUG_SPARSE */ |
90 #endif /* CONFIG_MEMORY_HOTPLUG_SPARSE */ |
91 |
91 |
92 #ifdef CONFIG_MEMORY_HOTPLUG |
92 #ifdef CONFIG_MEMORY_HOTPLUG |
93 #define hotplug_memory_notifier(fn, pri) { \ |
93 #define hotplug_memory_notifier(fn, pri) { \ |
94 static __meminitdata struct notifier_block fn##_mem_nb =\ |
94 static __meminitdata struct notifier_block fn##_mem_nb =\ |