[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0dc0316d-a9ae-c152-3737-be1c73a415b1@linux.intel.com>
Date: Fri, 23 May 2025 16:25:31 +0300 (EEST)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: Luke Jones <luke@...nes.dev>
cc: LKML <linux-kernel@...r.kernel.org>, Hans de Goede <hdegoede@...hat.com>,
platform-driver-x86@...r.kernel.org, mario.limonciello@....com,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
kernel test robot <lkp@...el.com>
Subject: Re: [PATCH 1/1] platform/x86: asus-wmi: fix build without
CONFIG_SUSPEND
On Fri, 23 May 2025, Luke Jones wrote:
> The patch "Refactor Ally suspend/resume" introduced an
The commit feea7bd6b02d ("...")
> 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@...nes.dev>
> Reported-by: kernel test robot <lkp@...el.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202505090418.DaeaXe4i-lkp@intel.com/
> Fixes: feea7bd6b02d ("platform/x86: asus-wmi: Refactor Ally suspend/resume")
> ---
> drivers/platform/x86/asus-wmi.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
> index 27f11643a00d..087318e0d595 100644
> --- a/drivers/platform/x86/asus-wmi.c
> +++ b/drivers/platform/x86/asus-wmi.c
> @@ -5005,6 +5005,7 @@ static int asus_hotk_restore(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) {
> @@ -5013,6 +5014,7 @@ static void asus_ally_s2idle_restore(void)
> msleep(ASUS_USB0_PWR_EC0_CSEE_WAIT);
> }
> }
> +#endif /* CONFIG_SUSPEND */
Move this function below asus_hotk_prepare() next to ops, so that only one
#if block is needed for them.
>
> static int asus_hotk_prepare(struct device *device)
> {
> @@ -5025,9 +5027,11 @@ static int asus_hotk_prepare(struct device *device)
> }
>
> /* Use only for Ally devices due to the wake_on_ac */
> +#if defined(CONFIG_SUSPEND)
> static struct acpi_s2idle_dev_ops asus_ally_s2idle_dev_ops = {
> .restore = asus_ally_s2idle_restore,
> };
> +#endif /* CONFIG_SUSPEND */
>
> static const struct dev_pm_ops asus_pm_ops = {
> .thaw = asus_hotk_thaw,
> @@ -5060,9 +5064,11 @@ static int asus_wmi_probe(struct platform_device *pdev)
> return ret;
> }
>
> + #if defined(CONFIG_SUSPEND)
> ret = acpi_register_lps0_dev(&asus_ally_s2idle_dev_ops);
> if (ret)
> pr_warn("failed to register LPS0 sleep handler in asus-wmi\n");
> + #endif /* CONFIG_SUSPEND */
>
> return asus_wmi_add(pdev);
> }
> @@ -5096,7 +5102,10 @@ EXPORT_SYMBOL_GPL(asus_wmi_register_driver);
>
> void asus_wmi_unregister_driver(struct asus_wmi_driver *driver)
> {
> + #if defined(CONFIG_SUSPEND)
> acpi_unregister_lps0_dev(&asus_ally_s2idle_dev_ops);
> + #endif /* CONFIG_SUSPEND */
I'd have preferred these reg/unreg be solved with wrappers (see
pmc_atom.c).
--
i.
Powered by blists - more mailing lists