platform/x86: asus-wmi: fix build without CONFIG_SUSPEND

The patch "Refactor Ally suspend/resume" introduced an
acpi_s2idle_dev_ops for use with ROG Ally which caused a build error
if CONFIG_SUSPEND was not defined.

Signed-off-by: Luke Jones <luke@ljones.dev>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202505090418.DaeaXe4i-lkp@intel.com/
Fixes: feea7bd6b0 ("platform/x86: asus-wmi: Refactor Ally suspend/resume")
Link: https://lore.kernel.org/r/20250524101343.57883-2-luke@ljones.dev
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
Luke Jones 2025-05-24 12:13:42 +02:00 committed by Ilpo Järvinen
parent cad37faac6
commit 7ff5f09140
No known key found for this signature in database
GPG Key ID: 59AC4F6153E5CE31
1 changed files with 28 additions and 13 deletions

View File

@ -5015,15 +5015,6 @@ static int asus_hotk_restore(struct device *device)
return 0;
}
static void asus_ally_s2idle_restore(void)
{
if (use_ally_mcu_hack == ASUS_WMI_ALLY_MCU_HACK_ENABLED) {
acpi_execute_simple_method(NULL, ASUS_USB0_PWR_EC0_CSEE,
ASUS_USB0_PWR_EC0_CSEE_ON);
msleep(ASUS_USB0_PWR_EC0_CSEE_WAIT);
}
}
static int asus_hotk_prepare(struct device *device)
{
if (use_ally_mcu_hack == ASUS_WMI_ALLY_MCU_HACK_ENABLED) {
@ -5034,11 +5025,36 @@ static int asus_hotk_prepare(struct device *device)
return 0;
}
#if defined(CONFIG_SUSPEND)
static void asus_ally_s2idle_restore(void)
{
if (use_ally_mcu_hack == ASUS_WMI_ALLY_MCU_HACK_ENABLED) {
acpi_execute_simple_method(NULL, ASUS_USB0_PWR_EC0_CSEE,
ASUS_USB0_PWR_EC0_CSEE_ON);
msleep(ASUS_USB0_PWR_EC0_CSEE_WAIT);
}
}
/* Use only for Ally devices due to the wake_on_ac */
static struct acpi_s2idle_dev_ops asus_ally_s2idle_dev_ops = {
.restore = asus_ally_s2idle_restore,
};
static void asus_s2idle_check_register(void)
{
if (acpi_register_lps0_dev(&asus_ally_s2idle_dev_ops))
pr_warn("failed to register LPS0 sleep handler in asus-wmi\n");
}
static void asus_s2idle_check_unregister(void)
{
acpi_unregister_lps0_dev(&asus_ally_s2idle_dev_ops);
}
#else
static void asus_s2idle_check_register(void) {}
static void asus_s2idle_check_unregister(void) {}
#endif /* CONFIG_SUSPEND */
static const struct dev_pm_ops asus_pm_ops = {
.thaw = asus_hotk_thaw,
.restore = asus_hotk_restore,
@ -5070,9 +5086,7 @@ static int asus_wmi_probe(struct platform_device *pdev)
return ret;
}
ret = acpi_register_lps0_dev(&asus_ally_s2idle_dev_ops);
if (ret)
pr_warn("failed to register LPS0 sleep handler in asus-wmi\n");
asus_s2idle_check_register();
return asus_wmi_add(pdev);
}
@ -5106,7 +5120,8 @@ EXPORT_SYMBOL_GPL(asus_wmi_register_driver);
void asus_wmi_unregister_driver(struct asus_wmi_driver *driver)
{
acpi_unregister_lps0_dev(&asus_ally_s2idle_dev_ops);
asus_s2idle_check_unregister();
platform_device_unregister(driver->platform_device);
platform_driver_unregister(&driver->platform_driver);
used = false;