perf/arm_cspmu: Fix event attribute type
authorRobin Murphy <robin.murphy@arm.com>
Mon, 5 Jun 2023 17:01:31 +0000 (18:01 +0100)
committerWill Deacon <will@kernel.org>
Fri, 9 Jun 2023 10:26:47 +0000 (11:26 +0100)
ARM_CSPMU_EVENT_ATTR() defines a struct perf_pmu_events_attr, so
arm_cspmu_sysfs_event_show() should not be interpreting it as struct
dev_ext_attribute.

Fixes: e37dfd65731d ("perf: arm_cspmu: Add support for ARM CoreSight PMU driver")
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-and-tested-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/27c0804af64007b2400abbc40278f642ee6a0a29.1685983270.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/arm_cspmu/arm_cspmu.c

index d057216..e8bc8fc 100644 (file)
@@ -189,10 +189,10 @@ static inline bool use_64b_counter_reg(const struct arm_cspmu *cspmu)
 ssize_t arm_cspmu_sysfs_event_show(struct device *dev,
                                struct device_attribute *attr, char *buf)
 {
-       struct dev_ext_attribute *eattr =
-               container_of(attr, struct dev_ext_attribute, attr);
-       return sysfs_emit(buf, "event=0x%llx\n",
-                         (unsigned long long)eattr->var);
+       struct perf_pmu_events_attr *pmu_attr;
+
+       pmu_attr = container_of(attr, typeof(*pmu_attr), attr);
+       return sysfs_emit(buf, "event=0x%llx\n", pmu_attr->id);
 }
 EXPORT_SYMBOL_GPL(arm_cspmu_sysfs_event_show);