[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240703110741.2668800-1-quic_sibis@quicinc.com>
Date: Wed, 3 Jul 2024 16:37:41 +0530
From: Sibi Sankar <quic_sibis@...cinc.com>
To: <ulf.hansson@...aro.org>, <sudeep.holla@....com>,
<cristian.marussi@....com>
CC: <linux-kernel@...r.kernel.org>, <arm-scmi@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-arm-msm@...r.kernel.org>, <linux-pm@...r.kernel.org>,
<quic_rgottimu@...cinc.com>, <quic_kshivnan@...cinc.com>,
<quic_sibis@...cinc.com>, <johan@...nel.org>
Subject: [PATCH] pmdomain: arm: Fix debugfs node creation failure
The domain attributes returned by the perf protocol can end up
reporting identical names across domains, resulting in debugfs
node creation failure. Fix this duplication by appending the
domain-id to the domain name.
Logs:
debugfs: Directory 'NCC' with parent 'pm_genpd' already present!
debugfs: Directory 'NCC' with parent 'pm_genpd' already present!
Fixes: 2af23ceb8624 ("pmdomain: arm: Add the SCMI performance domain")
Signed-off-by: Sibi Sankar <quic_sibis@...cinc.com>
---
drivers/pmdomain/arm/scmi_perf_domain.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/pmdomain/arm/scmi_perf_domain.c b/drivers/pmdomain/arm/scmi_perf_domain.c
index d7ef46ccd9b8..0af5dc941349 100644
--- a/drivers/pmdomain/arm/scmi_perf_domain.c
+++ b/drivers/pmdomain/arm/scmi_perf_domain.c
@@ -18,6 +18,7 @@ struct scmi_perf_domain {
const struct scmi_perf_proto_ops *perf_ops;
const struct scmi_protocol_handle *ph;
const struct scmi_perf_domain_info *info;
+ char domain_name[SCMI_MAX_STR_SIZE];
u32 domain_id;
};
@@ -123,7 +124,12 @@ static int scmi_perf_domain_probe(struct scmi_device *sdev)
scmi_pd->domain_id = i;
scmi_pd->perf_ops = perf_ops;
scmi_pd->ph = ph;
- scmi_pd->genpd.name = scmi_pd->info->name;
+
+ /* Domain attributes can report identical names across domains */
+ snprintf(scmi_pd->domain_name, sizeof(scmi_pd->domain_name), "%s-%d",
+ scmi_pd->info->name, scmi_pd->domain_id);
+
+ scmi_pd->genpd.name = scmi_pd->domain_name;
scmi_pd->genpd.flags = GENPD_FLAG_ALWAYS_ON |
GENPD_FLAG_OPP_TABLE_FW;
scmi_pd->genpd.set_performance_state = scmi_pd_set_perf_state;
--
2.34.1
Powered by blists - more mailing lists