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: Cody P Schafer <cody@linux.vnet.ibm.com> Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> Acked-by: Jiri Olsa <jolsa@redhat.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Родитель
fe12545e76
Коммит
fd979c0132
|
@ -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), \
|
||||
|
|
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче