Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd979c01 authored by Cody P Schafer's avatar Cody P Schafer Committed by Michael Ellerman
Browse files

perf: provide sysfs_show for struct perf_pmu_events_attr



(struct perf_pmu_events_attr) is defined in include/linux/perf_event.h,
but the only "show" for it is in x86 and contains x86 specific stuff.

Make a generic one for those of us who are just using the event_str.

Signed-off-by: default avatarCody P Schafer <cody@linux.vnet.ibm.com>
Signed-off-by: default avatarSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent fe12545e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -897,6 +897,9 @@ struct perf_pmu_events_attr {
	const char *event_str;
};

ssize_t perf_event_sysfs_show(struct device *dev, struct device_attribute *attr,
			      char *page);

#define PMU_EVENT_ATTR(_name, _var, _id, _show)				\
static struct perf_pmu_events_attr _var = {				\
	.attr = __ATTR(_name, 0444, _show, NULL),			\
+12 −0
Original line number Diff line number Diff line
@@ -8276,6 +8276,18 @@ void __init perf_event_init(void)
		     != 1024);
}

ssize_t perf_event_sysfs_show(struct device *dev, struct device_attribute *attr,
			      char *page)
{
	struct perf_pmu_events_attr *pmu_attr =
		container_of(attr, struct perf_pmu_events_attr, attr);

	if (pmu_attr->event_str)
		return sprintf(page, "%s\n", pmu_attr->event_str);

	return 0;
}

static int __init perf_event_sysfs_init(void)
{
	struct pmu *pmu;