diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h index e04364ed9c0c..41f7595b4f77 100644 --- a/include/linux/memory_hotplug.h +++ b/include/linux/memory_hotplug.h @@ -260,3 +260,6 @@ extern struct page *sparse_decode_mem_map(unsigned long coded_mem_map, #endif /* __LINUX_MEMORY_HOTPLUG_H */ extern int physical_remove_memory(u64 start, u64 size); +extern int arch_physical_remove_memory(u64 start, u64 size); +extern int physical_low_power_memory(u64 start, u64 size); +extern int arch_physical_low_power_memory(u64 start, u64 size); diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 25e02b6bb46f..77eaf2c61336 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -1199,6 +1199,16 @@ int __ref physical_remove_memory(u64 start, u64 size) } EXPORT_SYMBOL_GPL(physical_remove_memory); +int __ref physical_low_power_memory(u64 start, u64 size) +{ + int ret; + + /* call arch's memory low power routine */ + ret = arch_physical_low_power_memory(start, size); + return ret; +} +EXPORT_SYMBOL_GPL(physical_low_power_memory); + #ifdef CONFIG_MEMORY_HOTREMOVE /* * A free page on the buddy free lists (not the per-cpu lists) has PageBuddy