From: Ulf Hansson <ulf.hansson@oss.qualcomm.com>
To: Sudeep Holla <sudeep.holla@kernel.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
Daniel Lezcano <daniel.lezcano@kernel.org>,
linux-pm@vger.kernel.org
Cc: Abel Vesa <abel.vesa@oss.qualcomm.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Christian Loehle <christian.loehle@arm.com>,
Maulik Shah <maulik.shah@oss.qualcomm.com>,
Yuanfang Zhang <yuanfang.zhang@oss.qualcomm.com>,
Sneh Mankad <sneh.mankad@oss.qualcomm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Ulf Hansson <ulf.hansson@oss.qualcomm.com>,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v2 1/5] pmdomain: core: Rename genpd_status_on()
Date: Tue, 1 Sep 2026 13:14:04 +0200 [thread overview]
Message-ID: <20260901111441.122436-2-ulf.hansson@oss.qualcomm.com> (raw)
In-Reply-To: <20260901111441.122436-1-ulf.hansson@oss.qualcomm.com>
Let's rename the internal function genpd_status_on() to
genpd_status_on_unlocked() to clarify its use.
Suggested-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Signed-off-by: Ulf Hansson <ulf.hansson@oss.qualcomm.com>
---
Changes in v2:
- New patch.
---
drivers/pmdomain/core.c | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c
index 842c4169e290..6ac1ce18fda3 100644
--- a/drivers/pmdomain/core.c
+++ b/drivers/pmdomain/core.c
@@ -173,7 +173,7 @@ static const struct genpd_lock_ops genpd_raw_spin_ops = {
#define genpd_lock_interruptible(p) p->lock_ops->lock_interruptible(p)
#define genpd_unlock(p) p->lock_ops->unlock(p)
-#define genpd_status_on(genpd) (genpd->status == GENPD_STATE_ON)
+#define genpd_status_on_unlocked(genpd) (genpd->status == GENPD_STATE_ON)
#define genpd_is_irq_safe(genpd) (genpd->flags & GENPD_FLAG_IRQ_SAFE)
#define genpd_is_always_on(genpd) (genpd->flags & GENPD_FLAG_ALWAYS_ON)
#define genpd_is_active_wakeup(genpd) (genpd->flags & GENPD_FLAG_ACTIVE_WAKEUP)
@@ -771,7 +771,7 @@ EXPORT_SYMBOL_GPL(dev_pm_genpd_rpm_always_on);
* @dev: Device to get the current power status
*
* This function checks whether the generic power domain associated with the
- * given device is on or not by verifying if genpd_status_on equals
+ * given device is on or not by verifying if genpd_status_on_unlocked equals
* GENPD_STATE_ON.
*
* Note: this function returns the power status of the genpd at the time of the
@@ -791,7 +791,7 @@ bool dev_pm_genpd_is_on(struct device *dev)
return false;
genpd_lock(genpd);
- is_on = genpd_status_on(genpd);
+ is_on = genpd_status_on_unlocked(genpd);
genpd_unlock(genpd);
return is_on;
@@ -963,7 +963,7 @@ static void genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
* The domain was on at boot and still need to stay on.
* The domain has a subdomain being powered on.
*/
- if (!genpd_status_on(genpd) || genpd->prepared_count > 0 ||
+ if (!genpd_status_on_unlocked(genpd) || genpd->prepared_count > 0 ||
genpd_is_always_on(genpd) || genpd_is_rpm_always_on(genpd) ||
genpd->stay_on || atomic_read(&genpd->sd_count) > 0)
return;
@@ -1040,7 +1040,7 @@ static int genpd_power_on(struct generic_pm_domain *genpd, unsigned int depth)
struct gpd_link *link;
int ret = 0;
- if (genpd_status_on(genpd))
+ if (genpd_status_on_unlocked(genpd))
return 0;
/* Reflect over the entered idle-states residency for debugfs. */
@@ -1406,7 +1406,7 @@ static void genpd_sync_power_off(struct generic_pm_domain *genpd, bool use_lock,
{
struct gpd_link *link;
- if (!genpd_status_on(genpd) || genpd_is_always_on(genpd))
+ if (!genpd_status_on_unlocked(genpd) || genpd_is_always_on(genpd))
return;
if (genpd->suspended_count != genpd->device_count
@@ -1472,7 +1472,7 @@ static void genpd_sync_power_on(struct generic_pm_domain *genpd, bool use_lock,
{
struct gpd_link *link;
- if (genpd_status_on(genpd))
+ if (genpd_status_on_unlocked(genpd))
return;
list_for_each_entry(link, &genpd->child_links, child_node) {
@@ -2170,7 +2170,8 @@ static int genpd_add_subdomain(struct generic_pm_domain *genpd,
genpd_lock(subdomain);
genpd_lock_nested(genpd, SINGLE_DEPTH_NESTING);
- if (!genpd_status_on(genpd) && genpd_status_on(subdomain)) {
+ if (!genpd_status_on_unlocked(genpd) &&
+ genpd_status_on_unlocked(subdomain)) {
ret = -EINVAL;
goto out;
}
@@ -2186,7 +2187,7 @@ static int genpd_add_subdomain(struct generic_pm_domain *genpd,
list_add_tail(&link->parent_node, &genpd->parent_links);
link->child = subdomain;
list_add_tail(&link->child_node, &subdomain->child_links);
- if (genpd_status_on(subdomain))
+ if (genpd_status_on_unlocked(subdomain))
genpd_sd_counter_inc(genpd);
out:
@@ -2246,7 +2247,7 @@ int pm_genpd_remove_subdomain(struct generic_pm_domain *genpd,
list_del(&link->parent_node);
list_del(&link->child_node);
kfree(link);
- if (genpd_status_on(subdomain))
+ if (genpd_status_on_unlocked(subdomain))
genpd_sd_counter_dec(genpd);
ret = 0;
@@ -2441,7 +2442,7 @@ int pm_genpd_init(struct generic_pm_domain *genpd,
/* Always-on domains must be powered on at initialization. */
if ((genpd_is_always_on(genpd) || genpd_is_rpm_always_on(genpd)) &&
- !genpd_status_on(genpd)) {
+ !genpd_status_on_unlocked(genpd)) {
pr_err("always-on PM domain %s is not on\n", genpd->name);
return -EINVAL;
}
@@ -3839,7 +3840,7 @@ static int genpd_summary_one(struct seq_file *s,
if (WARN_ON(genpd->status >= ARRAY_SIZE(status_lookup)))
goto exit;
- if (!genpd_status_on(genpd))
+ if (!genpd_status_on_unlocked(genpd))
snprintf(state, sizeof(state), "%s-%u",
status_lookup[genpd->status], genpd->state_idx);
else
--
2.43.0
next prev parent reply other threads:[~2026-09-01 11:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-01 11:14 [PATCH v2 0/5] pmdomain/cpuidle-psci: Fix behaviours for CPU PM domains Ulf Hansson
2026-09-01 11:14 ` Ulf Hansson [this message]
2026-09-01 11:14 ` [PATCH v2 2/5] pmdomain: core: Allow a non-CPU device in a CPU PM domain to do power on Ulf Hansson
2026-09-01 11:14 ` [PATCH v2 3/5] pmdomain: core: Add a genpd config to support unknown initial status Ulf Hansson
2026-09-01 11:14 ` [PATCH v2 4/5] cpuidle: psci: Initialize the PM domains in powered off state for OSI Ulf Hansson
2026-09-01 11:14 ` [PATCH v2 5/5] cpuidle: psci: Move initialization a bit earlier in the boot sequence Ulf Hansson
2026-09-01 12:00 ` Abel Vesa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260901111441.122436-2-ulf.hansson@oss.qualcomm.com \
--to=ulf.hansson@oss.qualcomm.com \
--cc=abel.vesa@oss.qualcomm.com \
--cc=christian.loehle@arm.com \
--cc=daniel.lezcano@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=maulik.shah@oss.qualcomm.com \
--cc=rafael@kernel.org \
--cc=sneh.mankad@oss.qualcomm.com \
--cc=sudeep.holla@kernel.org \
--cc=suzuki.poulose@arm.com \
--cc=yuanfang.zhang@oss.qualcomm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox