[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJZ5v0g-emZAxdTZvN0ac6zMssazKMjNNn7nuYkg4cMcCmMFqg@mail.gmail.com>
Date: Wed, 4 Feb 2026 17:11:51 +0100
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Wang Jiayue <akaieurus@...il.com>
Cc: rafael@...nel.org, lenb@...nel.org, pavel@...nel.org,
gregkh@...uxfoundation.org, dakr@...nel.org, linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org, Gui-Dong Han <hanguidong02@...il.com>
Subject: Re: [PATCH] PM: sleep: wakeirq: remove outdated comments
On Wed, Feb 4, 2026 at 10:04 AM Wang Jiayue <akaieurus@...il.com> wrote:
>
> Remove the stale documentations. The comments claiming that
> dev_pm_*wake_irq*() helpers must be called with dev->power.lock held and
> only from rpm_suspend/resume paths are no longer correct, since
> pm_runtime_force_suspend/resume() call them lockless.
Well, pm_runtime_force_suspend/resume() are kind of special.
> Reported-by: Gui-Dong Han <hanguidong02@...il.com>
> Closes: https://lore.kernel.org/all/CAJZ5v0jN9fU9NdWqc-+F5hiSEP4JkR=_qcdGzzHtk1i5tvCDbQ@mail.gmail.com/
> Fixes: c46a0d5ae4f9 ("PM: runtime: Extend support for wakeirq for force_suspend|resume")
> Signed-off-by: Wang Jiayue <akaieurus@...il.com>
> ---
> drivers/base/power/wakeirq.c | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/drivers/base/power/wakeirq.c b/drivers/base/power/wakeirq.c
> index 8aa28c08b289..4f57058f2148 100644
> --- a/drivers/base/power/wakeirq.c
> +++ b/drivers/base/power/wakeirq.c
> @@ -269,9 +269,6 @@ EXPORT_SYMBOL_GPL(dev_pm_set_dedicated_wake_irq_reverse);
> * starts in RPM_SUSPENDED state, and the first pm_runtime_get() would
> * otherwise try to disable already disabled wakeirq. The wake-up interrupt
> * starts disabled with IRQ_NOAUTOEN set.
> - *
> - * Should be only called from rpm_suspend() and rpm_resume() path.
I think that the removed line is still applicable to some extent.
It would be better to rephrase it to also cover the
pm_runtime_force_suspend/resume() case.
This also applies to the other analogous changes below.
> - * Caller must hold &dev->power.lock to change wirq->status
This one could also be rephrased to say that either the lock needs to
be held or runtime PM needs to be disabled before calling this
function.
> */
> void dev_pm_enable_wake_irq_check(struct device *dev,
> bool can_change_status)
> @@ -303,7 +300,6 @@ void dev_pm_enable_wake_irq_check(struct device *dev,
> * @cond_disable: if set, also check WAKE_IRQ_DEDICATED_REVERSE
> *
> * Disables wake-up interrupt conditionally based on status.
> - * Should be only called from rpm_suspend() and rpm_resume() path.
> */
> void dev_pm_disable_wake_irq_check(struct device *dev, bool cond_disable)
> {
> @@ -328,8 +324,6 @@ void dev_pm_disable_wake_irq_check(struct device *dev, bool cond_disable)
> * Enable wake IRQ conditionally based on status, mainly used if want to
> * enable wake IRQ after running ->runtime_suspend() which depends on
> * WAKE_IRQ_DEDICATED_REVERSE.
> - *
> - * Should be only called from rpm_suspend() path.
> */
> void dev_pm_enable_wake_irq_complete(struct device *dev)
> {
> --
Powered by blists - more mailing lists