diff options
Diffstat (limited to 'tools/perf/util/parse-events.c')
| -rw-r--r-- | tools/perf/util/parse-events.c | 25 | 
1 files changed, 12 insertions, 13 deletions
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index 34589c427e52..2fb0272146d8 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -206,8 +206,8 @@ struct tracepoint_path *tracepoint_id_to_path(u64 config)  		for_each_event(sys_dirent, evt_dir, evt_dirent) { -			snprintf(evt_path, MAXPATHLEN, "%s/%s/id", dir_path, -				 evt_dirent->d_name); +			scnprintf(evt_path, MAXPATHLEN, "%s/%s/id", dir_path, +				  evt_dirent->d_name);  			fd = open(evt_path, O_RDONLY);  			if (fd < 0)  				continue; @@ -1217,7 +1217,7 @@ int parse_events_add_numeric(struct parse_events_state *parse_state,  			 get_config_name(head_config), &config_terms);  } -static int __parse_events_add_pmu(struct parse_events_state *parse_state, +int parse_events_add_pmu(struct parse_events_state *parse_state,  			 struct list_head *list, char *name,  			 struct list_head *head_config, bool auto_merge_stats)  { @@ -1247,7 +1247,12 @@ static int __parse_events_add_pmu(struct parse_events_state *parse_state,  	if (!head_config) {  		attr.type = pmu->type;  		evsel = __add_event(list, &parse_state->idx, &attr, NULL, pmu, NULL, auto_merge_stats); -		return evsel ? 0 : -ENOMEM; +		if (evsel) { +			evsel->pmu_name = name; +			return 0; +		} else { +			return -ENOMEM; +		}  	}  	if (perf_pmu__check_alias(pmu, head_config, &info)) @@ -1276,18 +1281,12 @@ static int __parse_events_add_pmu(struct parse_events_state *parse_state,  		evsel->snapshot = info.snapshot;  		evsel->metric_expr = info.metric_expr;  		evsel->metric_name = info.metric_name; +		evsel->pmu_name = name;  	}  	return evsel ? 0 : -ENOMEM;  } -int parse_events_add_pmu(struct parse_events_state *parse_state, -			 struct list_head *list, char *name, -			 struct list_head *head_config) -{ -	return __parse_events_add_pmu(parse_state, list, name, head_config, false); -} -  int parse_events_multi_pmu_add(struct parse_events_state *parse_state,  			       char *str, struct list_head **listp)  { @@ -1317,8 +1316,8 @@ int parse_events_multi_pmu_add(struct parse_events_state *parse_state,  					return -1;  				list_add_tail(&term->list, head); -				if (!__parse_events_add_pmu(parse_state, list, -							    pmu->name, head, true)) { +				if (!parse_events_add_pmu(parse_state, list, +							  pmu->name, head, true)) {  					pr_debug("%s -> %s/%s/\n", str,  						 pmu->name, alias->str);  					ok++;  | 
