lkml.org 
[lkml]   [2024]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v5 02/11] i2c: omap: wakeup the controller during suspend() callback
From
On 4/19/24 10:47, Andi Shyti wrote:
> Hi Thomas,
>
>> +static int omap_i2c_suspend(struct device *dev)
>> +{
>> + /*
>> + * If the controller is autosuspended, there is no way to wakeup it once
>> + * runtime pm is disabled (in suspend_late()).
>> + * But a device may need the controller up during suspend_noirq() or
>> + * resume_noirq().
>> + * Wakeup the controller while runtime pm is enabled, so it is available
>> + * until its suspend_noirq(), and from resume_noirq().
>> + */
>> + return pm_runtime_resume_and_get(dev);
>> +}
>> +
>> +static int omap_i2c_resume(struct device *dev)
>> +{
>> + pm_runtime_mark_last_busy(dev);
>> + pm_runtime_put_autosuspend(dev);
>> +
>> + return 0;
>> +}
>> +
>> static const struct dev_pm_ops omap_i2c_pm_ops = {
>> SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
>> pm_runtime_force_resume)
>> + SET_SYSTEM_SLEEP_PM_OPS(omap_i2c_suspend, omap_i2c_resume)
>
> If you don't have CONFIG_PM_SLEEP, though, this doesn't compile.

Hello Andi,

Yes indeed, the __maybe_unused attribute is missing for
omap_i2c_suspend() and omap_i2c_resume().

--
Thomas Richard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


\
 
 \ /
  Last update: 2024-05-27 17:55    [W:0.037 / U:2.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site