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:
		
					parent
					
						
							
								fe12545e76
							
						
					
				
			
			
				commit
				
					
						fd979c0132
					
				
			
		
					 2 changed files with 15 additions and 0 deletions
				
			
		|  | @ -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; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Cody P Schafer
				Cody P Schafer