Re: [PATCH] perf/arm-cmn: Set PMU device parent
From: Robin Murphy
Date: Wed Apr 10 2024 - 14:35:16 EST
On 2024-04-10 6:04 pm, Jonathan Cameron wrote:
On Tue, 9 Apr 2024 18:15:17 +0100
Robin Murphy <robin.murphy@xxxxxxx> wrote:
Now that perf supports giving the PMU device a parent, we can use our
platform device to make the relationship between CMN instances and PMU
IDs trivially discoverable, from either nominal direction:
root@crazy-taxi:~# ls /sys/devices/platform/ARMHC600:00 | grep cmn
arm_cmn_0
root@crazy-taxi:~# realpath /sys/bus/event_source/devices/arm_cmn_0/..
/sys/devices/platform/ARMHC600:00
Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx>
Nice. I'd forgotten all about this :(
Yeah, I hadn't realised the core change actually got merged until I
stumbled across it by chance yesterday, otherwise I'd have followed up
far sooner... If only your series had been a day or two later, I'd have
posted the original device_move() version of this one back then, and it
might even have looked reasonable for a moment :)
Cheers,
Robin.
https://lore.kernel.org/all/20230404134225.13408-1-Jonathan.Cameron@xxxxxxxxxx/
still has a bunch of these + there were many I never looked into.
Guess I should respin that series though probably 50% at least still apply.
J
---
drivers/perf/arm-cmn.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c
index 7ef9c7e4836b..b2c607cf3ad7 100644
--- a/drivers/perf/arm-cmn.c
+++ b/drivers/perf/arm-cmn.c
@@ -2482,6 +2482,7 @@ static int arm_cmn_probe(struct platform_device *pdev)
cmn->cpu = cpumask_local_spread(0, dev_to_node(cmn->dev));
cmn->pmu = (struct pmu) {
.module = THIS_MODULE,
+ .parent = cmn->dev,
.attr_groups = arm_cmn_attr_groups,
.capabilities = PERF_PMU_CAP_NO_EXCLUDE,
.task_ctx_nr = perf_invalid_context,