[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260122-pmdomain-hierarchy-onecell-v5-2-76855ec856bd@baylibre.com>
Date: Thu, 22 Jan 2026 17:14:01 -0800
From: "Kevin Hilman (TI)" <khilman@...libre.com>
To: Ulf Hansson <ulf.hansson@...aro.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Sudeep Holla <sudeep.holla@....com>,
Cristian Marussi <cristian.marussi@....com>
Cc: devicetree@...r.kernel.org, linux-pm@...r.kernel.org,
arm-scmi@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: [PATCH RFC v5 2/2] pmdomain: arm_scmi: add support for domain
hierarchies
After primary SCMI pmdomain is created, use new of_genpd helper to
check if there are any child domain mappings defined by
power-domain-map, and create domain hierarchy. Also remove any child
domain mappings when SCMI domain is removed.
Signed-off-by: Kevin Hilman (TI) <khilman@...libre.com>
---
drivers/pmdomain/arm/scmi_pm_domain.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/pmdomain/arm/scmi_pm_domain.c b/drivers/pmdomain/arm/scmi_pm_domain.c
index b5e2ffd5ea64..a52387c45d88 100644
--- a/drivers/pmdomain/arm/scmi_pm_domain.c
+++ b/drivers/pmdomain/arm/scmi_pm_domain.c
@@ -114,8 +114,12 @@ static int scmi_pm_domain_probe(struct scmi_device *sdev)
dev_set_drvdata(dev, scmi_pd_data);
+ /* check for (optional) subdomain mapping with power-domain-map */
+ of_genpd_add_subdomain_map(np, scmi_pd_data);
+
return 0;
err_rm_genpds:
+ of_genpd_remove_subdomain_map(np, scmi_pd_data);
for (i = num_domains - 1; i >= 0; i--)
pm_genpd_remove(domains[i]);
@@ -132,6 +136,7 @@ static void scmi_pm_domain_remove(struct scmi_device *sdev)
of_genpd_del_provider(np);
scmi_pd_data = dev_get_drvdata(dev);
+ of_genpd_remove_subdomain_map(np, scmi_pd_data);
for (i = 0; i < scmi_pd_data->num_domains; i++) {
if (!scmi_pd_data->domains[i])
continue;
--
2.51.0
Powered by blists - more mailing lists