[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <5128b201-ab6e-4536-8c24-8263789a3d78@app.fastmail.com>
Date: Fri, 23 May 2025 20:44:31 +0200
From: "Luke Jones" <luke@...nes.dev>
To: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Cc: LKML <linux-kernel@...r.kernel.org>,
"Hans de Goede" <hdegoede@...hat.com>, platform-driver-x86@...r.kernel.org,
"Mario Limonciello" <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, at 3:25 PM, Ilpo Järvinen wrote:
> 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.
>
Done
>>
>> 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).
Can do, but I don't really understand the difference it makes in this context. Should I log that CONFIG_SUSPEND was not enabled? Otherwise it's just as good as not there, right?
>
>
> --
> i.
Powered by blists - more mailing lists