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/

Reply via email to