diff options
author | Wang Nan <wangnan0@huawei.com> | 2016-02-19 06:43:59 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-02-19 17:12:50 -0500 |
commit | e814fddde18fec43fa41a27ae94c09b54772697e (patch) | |
tree | 556249c76e7fc4e0ee0f6dd9214c15ab05d519c6 /tools/perf/util/parse-events.c | |
parent | 1669e509ea25e4e3e871d913d21b1cac4a96d1e8 (diff) |
perf tools: Rename and move pmu_event_name to get_config_name
Following commits will make more events obey /name=newname/ options.
This patch makes pmu_event_name() a generic helper.
Makes new get_config_name() accept NULL input to make life easier.
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: Cody P Schafer <dev@codyps.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Jeremie Galarneau <jeremie.galarneau@efficios.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kirill Smelkov <kirr@nexedi.com>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1455882283-79592-12-git-send-email-wangnan0@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/parse-events.c')
-rw-r--r-- | tools/perf/util/parse-events.c | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index eb5df43ec68f..3243e95eb1c7 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c | |||
@@ -279,7 +279,24 @@ const char *event_type(int type) | |||
279 | return "unknown"; | 279 | return "unknown"; |
280 | } | 280 | } |
281 | 281 | ||
282 | static int parse_events__is_name_term(struct parse_events_term *term) | ||
283 | { | ||
284 | return term->type_term == PARSE_EVENTS__TERM_TYPE_NAME; | ||
285 | } | ||
282 | 286 | ||
287 | static char *get_config_name(struct list_head *head_terms) | ||
288 | { | ||
289 | struct parse_events_term *term; | ||
290 | |||
291 | if (!head_terms) | ||
292 | return NULL; | ||
293 | |||
294 | list_for_each_entry(term, head_terms, list) | ||
295 | if (parse_events__is_name_term(term)) | ||
296 | return term->val.str; | ||
297 | |||
298 | return NULL; | ||
299 | } | ||
283 | 300 | ||
284 | static struct perf_evsel * | 301 | static struct perf_evsel * |
285 | __add_event(struct list_head *list, int *idx, | 302 | __add_event(struct list_head *list, int *idx, |
@@ -1029,22 +1046,6 @@ int parse_events_add_numeric(struct parse_events_evlist *data, | |||
1029 | return add_event(list, &data->idx, &attr, NULL, &config_terms); | 1046 | return add_event(list, &data->idx, &attr, NULL, &config_terms); |
1030 | } | 1047 | } |
1031 | 1048 | ||
1032 | static int parse_events__is_name_term(struct parse_events_term *term) | ||
1033 | { | ||
1034 | return term->type_term == PARSE_EVENTS__TERM_TYPE_NAME; | ||
1035 | } | ||
1036 | |||
1037 | static char *pmu_event_name(struct list_head *head_terms) | ||
1038 | { | ||
1039 | struct parse_events_term *term; | ||
1040 | |||
1041 | list_for_each_entry(term, head_terms, list) | ||
1042 | if (parse_events__is_name_term(term)) | ||
1043 | return term->val.str; | ||
1044 | |||
1045 | return NULL; | ||
1046 | } | ||
1047 | |||
1048 | int parse_events_add_pmu(struct parse_events_evlist *data, | 1049 | int parse_events_add_pmu(struct parse_events_evlist *data, |
1049 | struct list_head *list, char *name, | 1050 | struct list_head *list, char *name, |
1050 | struct list_head *head_config) | 1051 | struct list_head *head_config) |
@@ -1089,7 +1090,7 @@ int parse_events_add_pmu(struct parse_events_evlist *data, | |||
1089 | return -EINVAL; | 1090 | return -EINVAL; |
1090 | 1091 | ||
1091 | evsel = __add_event(list, &data->idx, &attr, | 1092 | evsel = __add_event(list, &data->idx, &attr, |
1092 | pmu_event_name(head_config), pmu->cpus, | 1093 | get_config_name(head_config), pmu->cpus, |
1093 | &config_terms); | 1094 | &config_terms); |
1094 | if (evsel) { | 1095 | if (evsel) { |
1095 | evsel->unit = info.unit; | 1096 | evsel->unit = info.unit; |