aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/parse-events.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/parse-events.c')
-rw-r--r--tools/perf/util/parse-events.c26
1 files changed, 22 insertions, 4 deletions
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index 4364575ce6ac..f6453cd414ae 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -611,14 +611,32 @@ int parse_events_add_pmu(struct list_head **list, int *idx,
611 pmu_event_name(head_config)); 611 pmu_event_name(head_config));
612} 612}
613 613
614int parse_events__modifier_group(struct list_head *list __used, 614struct perf_evsel *parse_events__set_leader(struct list_head *list)
615 char *event_mod __used)
616{ 615{
617 return 0; 616 struct perf_evsel *evsel, *leader;
617
618 leader = list_entry(list->next, struct perf_evsel, node);
619 leader->leader = NULL;
620
621 list_for_each_entry(evsel, list, node)
622 if (evsel != leader)
623 evsel->leader = leader;
624
625 return leader;
618} 626}
619 627
620void parse_events__group(char *name __used, struct list_head *list __used) 628int parse_events__modifier_group(struct list_head *list,
629 char *event_mod)
621{ 630{
631 return parse_events__modifier_event(list, event_mod, true);
632}
633
634void parse_events__group(char *name, struct list_head *list)
635{
636 struct perf_evsel *leader;
637
638 leader = parse_events__set_leader(list);
639 leader->group_name = name ? strdup(name) : NULL;
622} 640}
623 641
624void parse_events_update_lists(struct list_head *list_event, 642void parse_events_update_lists(struct list_head *list_event,