[PATCH] perf/arm-cmn: Set PMU device parent

Robin Murphy robin.murphy at arm.com
Wed Apr 10 11:35:03 PDT 2024


On 2024-04-10 6:04 pm, Jonathan Cameron wrote:
> On Tue,  9 Apr 2024 18:15:17 +0100
> Robin Murphy <robin.murphy at arm.com> 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 at crazy-taxi:~# ls /sys/devices/platform/ARMHC600:00 | grep cmn
>> arm_cmn_0
>> root at crazy-taxi:~# realpath /sys/bus/event_source/devices/arm_cmn_0/..
>> /sys/devices/platform/ARMHC600:00
>>
>> Signed-off-by: Robin Murphy <robin.murphy at arm.com>
> 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@huawei.com/
> 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,
> 



More information about the linux-arm-kernel mailing list