On Thu, 27 Sep 2012 13:45:30 +0900, Namhyung Kim wrote: > It'd not that hard. How about using below (untested) patch?
Hmm... it won't work for some cases. Please ignore this. Thanks, Namhyung > > diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c > index bf5d033ee1b4..5dc71f598028 100644 > --- a/tools/perf/util/parse-events.c > +++ b/tools/perf/util/parse-events.c > @@ -817,6 +817,21 @@ int parse_events_terms(struct list_head *terms, const > char *str) > return ret; > } > > +int __parse_events(struct list_head *evsel_list, const char *str) > +{ > + int ret; > + struct parse_events_data__events data = { > + .list = LIST_HEAD_INIT(data.list), > + }; > + > + ret = parse_events__scanner(str, &data, PE_START_EVENTS); > + if (!ret) { > + list_splice(evsel_list, &data.list); > + return 0; > + } > + return -1; > +} > + > int parse_events(struct perf_evlist *evlist, const char *str, > int unset __maybe_unused) > { > diff --git a/tools/perf/util/parse-events.h b/tools/perf/util/parse-events.h > index c356e443448d..c13e9bd0f041 100644 > --- a/tools/perf/util/parse-events.h > +++ b/tools/perf/util/parse-events.h > @@ -32,6 +32,7 @@ extern int parse_events_option(const struct option *opt, > const char *str, > extern int parse_events(struct perf_evlist *evlist, const char *str, > int unset); > extern int parse_events_terms(struct list_head *terms, const char *str); > +extern int __parse_events(struct list_head *evsel_list, const char *str); > extern int parse_filter(const struct option *opt, const char *str, int > unset); > > #define EVENTS_HELP_MAX (128*1024) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/