Thread (78 messages) 78 messages, 3 authors, 2021-11-08
STALE1719d

[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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help