diff options
Diffstat (limited to 'include/linux/memory.h')
| -rw-r--r-- | include/linux/memory.h | 17 | 
1 files changed, 12 insertions, 5 deletions
diff --git a/include/linux/memory.h b/include/linux/memory.h index 45e93b46887..85c31a8e290 100644 --- a/include/linux/memory.h +++ b/include/linux/memory.h @@ -18,6 +18,7 @@  #include <linux/node.h>  #include <linux/compiler.h>  #include <linux/mutex.h> +#include <linux/notifier.h>  #define MIN_MEMORY_BLOCK_SIZE     (1UL << SECTION_SIZE_BITS) @@ -114,9 +115,10 @@ extern void unregister_memory_notifier(struct notifier_block *nb);  extern int register_memory_isolate_notifier(struct notifier_block *nb);  extern void unregister_memory_isolate_notifier(struct notifier_block *nb);  extern int register_new_memory(int, struct mem_section *); +#ifdef CONFIG_MEMORY_HOTREMOVE  extern int unregister_memory_section(struct mem_section *); +#endif  extern int memory_dev_init(void); -extern int remove_memory_block(unsigned long, struct mem_section *, int);  extern int memory_notify(unsigned long val, void *v);  extern int memory_isolate_notify(unsigned long val, void *v);  extern struct memory_block *find_memory_block_hinted(struct mem_section *, @@ -127,13 +129,18 @@ enum mem_add_context { BOOT, HOTPLUG };  #endif /* CONFIG_MEMORY_HOTPLUG_SPARSE */  #ifdef CONFIG_MEMORY_HOTPLUG -#define hotplug_memory_notifier(fn, pri) {			\ +#define hotplug_memory_notifier(fn, pri) ({		\  	static __meminitdata struct notifier_block fn##_mem_nb =\ -		{ .notifier_call = fn, .priority = pri };	\ +		{ .notifier_call = fn, .priority = pri };\  	register_memory_notifier(&fn##_mem_nb);			\ -} +}) +#define register_hotmemory_notifier(nb)		register_memory_notifier(nb) +#define unregister_hotmemory_notifier(nb) 	unregister_memory_notifier(nb)  #else -#define hotplug_memory_notifier(fn, pri) do { } while (0) +#define hotplug_memory_notifier(fn, pri)	({ 0; }) +/* These aren't inline functions due to a GCC bug. */ +#define register_hotmemory_notifier(nb)    ({ (void)(nb); 0; }) +#define unregister_hotmemory_notifier(nb)  ({ (void)(nb); })  #endif  /*  |