lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ