Merge tag 'tag-chrome-platform-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / tools / perf / builtin-top.c
index 372c382..13889d7 100644 (file)
@@ -53,6 +53,7 @@
 
 #include "util/debug.h"
 #include "util/ordered-events.h"
+#include "util/pfm.h"
 
 #include <assert.h>
 #include <elf.h>
@@ -307,7 +308,7 @@ static void perf_top__resort_hists(struct perf_top *t)
        }
 
        evlist__for_each_entry(evlist, pos) {
-               perf_evsel__output_resort(pos, NULL);
+               evsel__output_resort(pos, NULL);
        }
 }
 
@@ -949,7 +950,7 @@ static int perf_top__overwrite_check(struct perf_top *top)
 {
        struct record_opts *opts = &top->record_opts;
        struct evlist *evlist = top->evlist;
-       struct perf_evsel_config_term *term;
+       struct evsel_config_term *term;
        struct list_head *config_terms;
        struct evsel *evsel;
        int set, overwrite = -1;
@@ -958,7 +959,7 @@ static int perf_top__overwrite_check(struct perf_top *top)
                set = -1;
                config_terms = &evsel->config_terms;
                list_for_each_entry(term, config_terms, list) {
-                       if (term->type == PERF_EVSEL__CONFIG_TERM_OVERWRITE)
+                       if (term->type == EVSEL__CONFIG_TERM_OVERWRITE)
                                set = term->val.overwrite ? 1 : 0;
                }
 
@@ -1575,6 +1576,11 @@ int cmd_top(int argc, const char **argv)
                    "WARNING: should be used on grouped events."),
        OPT_BOOLEAN(0, "stitch-lbr", &top.stitch_lbr,
                    "Enable LBR callgraph stitching approach"),
+#ifdef HAVE_LIBPFM
+       OPT_CALLBACK(0, "pfm-events", &top.evlist, "event",
+               "libpfm4 event selector. use 'perf list' to list available events",
+               parse_libpfm_events_option),
+#endif
        OPTS_EVSWITCH(&top.evswitch),
        OPT_END()
        };