The current machinery for hot-adding memory requires having udev rules to bring the memory segments online. Export the necessary functionality to to bring the memory segment online without involving user space code. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> --- drivers/base/memory.c | 5 ++++- include/linux/memory.h | 4 ++++ 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/drivers/base/memory.c b/drivers/base/memory.c index 2b7813e..a8204ac 100644 --- a/drivers/base/memory.c +++ b/drivers/base/memory.c @@ -328,7 +328,7 @@ static int __memory_block_change_state_uevent(struct memory_block *mem, return ret; } -static int memory_block_change_state(struct memory_block *mem, +int memory_block_change_state(struct memory_block *mem, unsigned long to_state, unsigned long from_state_req, int online_type) { @@ -341,6 +341,8 @@ static int memory_block_change_state(struct memory_block *mem, return ret; } +EXPORT_SYMBOL(memory_block_change_state); + static ssize_t store_mem_state(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) @@ -540,6 +542,7 @@ struct memory_block *find_memory_block(struct mem_section *section) { return find_memory_block_hinted(section, NULL); } +EXPORT_SYMBOL(find_memory_block); static struct attribute *memory_memblk_attrs[] = { &dev_attr_phys_index.attr, diff --git a/include/linux/memory.h b/include/linux/memory.h index 85c31a8..8e3ede5 100644 --- a/include/linux/memory.h +++ b/include/linux/memory.h @@ -115,6 +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 *); +extern int memory_block_change_state(struct memory_block *mem, + unsigned long to_state, unsigned long from_state_req, + int online_type); + #ifdef CONFIG_MEMORY_HOTREMOVE extern int unregister_memory_section(struct mem_section *); #endif -- 1.7.4.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel