In a Linux VM running on Hyper-V, when ACPI S4 is enabled, the balloon driver (drivers/hv/hv_balloon.c) needs to ask the host not to do memory hot-add/remove. So let's export acpi_sleep_state_supported() for the hv_balloon driver. This might also be useful to the other drivers in the future. Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> --- drivers/acpi/sleep.c | 3 ++- include/acpi/acpi_bus.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c index a34deccd7317..69755411e008 100644 --- a/drivers/acpi/sleep.c +++ b/drivers/acpi/sleep.c @@ -79,7 +79,7 @@ static int acpi_sleep_prepare(u32 acpi_state) return 0; } -static bool acpi_sleep_state_supported(u8 sleep_state) +bool acpi_sleep_state_supported(u8 sleep_state) { acpi_status status; u8 type_a, type_b; @@ -89,6 +89,7 @@ static bool acpi_sleep_state_supported(u8 sleep_state) || (acpi_gbl_FADT.sleep_control.address && acpi_gbl_FADT.sleep_status.address)); } +EXPORT_SYMBOL_GPL(acpi_sleep_state_supported); #ifdef CONFIG_ACPI_SLEEP static u32 acpi_target_sleep_state = ACPI_STATE_S0; diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 31b6c87d6240..5b102e7bbf25 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -651,6 +651,8 @@ static inline int acpi_pm_set_bridge_wakeup(struct device *dev, bool enable) } #endif +bool acpi_sleep_state_supported(u8 sleep_state); + #ifdef CONFIG_ACPI_SLEEP u32 acpi_target_system_state(void); #else -- 2.19.1