Merge branch 'v4.4/topic/coresight' into linux-linaro-lsk-v4.4
[firefly-linux-kernel-4.4.55.git] / tools / perf / util / evlist.c
index aa6cf40388f122530c2c10bb3e11c0130cdb17c1..b856cf0393ea96d652eb73b11c5e14af911d6f61 100644 (file)
@@ -1247,6 +1247,30 @@ int perf_evlist__apply_filters(struct perf_evlist *evlist, struct perf_evsel **e
        return err;
 }
 
+int perf_evlist__apply_drv_configs(struct perf_evlist *evlist,
+                                  struct perf_evsel **err_evsel,
+                                  struct perf_evsel_config_term **err_term)
+{
+       struct perf_evsel *evsel;
+       int err = 0;
+       const int ncpus = cpu_map__nr(evlist->cpus),
+                 nthreads = thread_map__nr(evlist->threads);
+
+       evlist__for_each(evlist, evsel) {
+               if (list_empty(&evsel->drv_config_terms))
+                       continue;
+
+               err = perf_evsel__apply_drv_configs(evsel, ncpus,
+                                                   nthreads, err_term);
+               if (err) {
+                       *err_evsel = evsel;
+                       break;
+               }
+       }
+
+       return err;
+}
+
 int perf_evlist__set_filter(struct perf_evlist *evlist, const char *filter)
 {
        struct perf_evsel *evsel;