[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <23846285.6Emhk5qWAg@rjwysocki.net>
Date: Tue, 11 Feb 2025 22:11:42 +0100
From: "Rafael J. Wysocki" <rjw@...ysocki.net>
To: Linux PM <linux-pm@...r.kernel.org>
Cc: LKML <linux-kernel@...r.kernel.org>,
Alan Stern <stern@...land.harvard.edu>, Ulf Hansson <ulf.hansson@...aro.org>,
Johan Hovold <johan@...nel.org>,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
Jon Hunter <jonathanh@...dia.com>
Subject: [PATCH v1 07/10] PM: sleep: Clear the power.set_active upfront
From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
Instead of clearing power.set_active right after it has been used,
clear it when the other related flags (power.may_skip_resume and
power.must_resume) are initialized, so it remains set throughout
system-wide resume transitions and can be checked at any time while
they are still in progress.
This is done in preparation for subsequent changes and it should not
alter the kernel behavior.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
---
drivers/base/power/main.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -659,12 +659,10 @@
* status to "active" unless its power.set_active flag is clear, in
* which case it is not necessary to update its PM-runtime status.
*/
- if (skip_resume) {
+ if (skip_resume)
pm_runtime_set_suspended(dev);
- } else if (dev->power.set_active) {
+ else if (dev->power.set_active)
pm_runtime_set_active(dev);
- dev->power.set_active = false;
- }
if (dev->pm_domain) {
info = "noirq power domain ";
@@ -1662,6 +1660,7 @@
dev->power.may_skip_resume = true;
dev->power.must_resume = !dev_pm_test_driver_flags(dev, DPM_FLAG_MAY_SKIP_RESUME);
+ dev->power.set_active = false;
dpm_watchdog_set(&wd, dev);
device_lock(dev);
Powered by blists - more mailing lists