[PATCH 54/59] perf tools: Move PE_* enums in parse_events__scanner
From: Jiri Olsa <hidden>
Date: 2021-11-08 13:42:45
Subsystem:
performance events subsystem, the rest · Maintainers:
Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Linus Torvalds
Moving PE_* enums in parse_events__scanner. The function will be moved to libperf in next commit. Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- tools/perf/util/parse-events.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index aa79ce2f2d44..7b171252083c 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c@@ -1914,12 +1914,18 @@ perf_pmu__parse_check(const char *name) } static int parse_events__scanner(const char *str, - struct parse_events_state *parse_state) + struct parse_events_state *parse_state, + bool terms) { YY_BUFFER_STATE buffer; void *scanner; int ret; + if (terms) + parse_state->stoken = PE_START_TERMS; + else + parse_state->stoken = PE_START_EVENTS; + ret = parse_events_lex_init_extra(parse_state, &scanner); if (ret) return ret;
@@ -1946,12 +1952,11 @@ int parse_events_terms(struct list_head *terms, const char *str) struct parse_events_state parse_state = { .ops = &parse_state_ops, .terms = NULL, - .stoken = PE_START_TERMS, .guest = perf_guest, }; int ret; - ret = parse_events__scanner(str, &parse_state); + ret = parse_events__scanner(str, &parse_state, true); perf_pmu__parse_cleanup(); if (!ret) {
@@ -1970,7 +1975,6 @@ static int parse_events__with_hybrid_pmu(struct parse_events_state *parse_state, { struct parse_events_state ps = { .list = LIST_HEAD_INIT(ps.list), - .stoken = PE_START_EVENTS, .hybrid_pmu_name = pmu_name, .idx = parse_state->idx, .ops = &parse_state_ops,
@@ -1978,7 +1982,7 @@ static int parse_events__with_hybrid_pmu(struct parse_events_state *parse_state, }; int ret; - ret = parse_events__scanner(str, &ps); + ret = parse_events__scanner(str, &ps, false); perf_pmu__parse_cleanup(); if (!ret) {
@@ -2001,14 +2005,13 @@ int __parse_events(struct evlist *evlist, const char *str, .idx = evlist->core.nr_entries, .error = err, .evlist = &evlist->core, - .stoken = PE_START_EVENTS, .fake_pmu = fake_pmu, .ops = &parse_state_ops, .guest = perf_guest, }; int ret; - ret = parse_events__scanner(str, &parse_state); + ret = parse_events__scanner(str, &parse_state, false); perf_pmu__parse_cleanup(); if (!ret && list_empty(&parse_state.list)) {
--
2.31.1