aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/ui
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2016-06-20 17:58:17 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-06-22 08:56:35 -0400
commita6ec894dea730bdc5568289898d27311e4031da0 (patch)
tree9ef396e479859ccfde185101a550a483ba1c493e /tools/perf/ui
parentb1c7a8f7a1dad1aa46ec26cdfa487598634c5267 (diff)
perf hists browser: Introduce perf_evsel_browser constructor
So we could use hist_browser__new for generic hist browser in following patches. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1466459899-1166-7-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/ui')
-rw-r--r--tools/perf/ui/browsers/hists.c24
-rw-r--r--tools/perf/ui/browsers/hists.h4
2 files changed, 18 insertions, 10 deletions
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index ccb9ed62a037..a81b298b79f9 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -2042,9 +2042,7 @@ static int hist_browser__dump(struct hist_browser *browser)
2042 return 0; 2042 return 0;
2043} 2043}
2044 2044
2045struct hist_browser *hist_browser__new(struct hists *hists, 2045struct hist_browser *hist_browser__new(struct hists *hists)
2046 struct hist_browser_timer *hbt,
2047 struct perf_env *env)
2048{ 2046{
2049 struct hist_browser *browser = zalloc(sizeof(*browser)); 2047 struct hist_browser *browser = zalloc(sizeof(*browser));
2050 2048
@@ -2057,9 +2055,6 @@ struct hist_browser *hist_browser__new(struct hists *hists,
2057 browser->b.seek = ui_browser__hists_seek; 2055 browser->b.seek = ui_browser__hists_seek;
2058 browser->b.use_navkeypressed = true; 2056 browser->b.use_navkeypressed = true;
2059 browser->show_headers = symbol_conf.show_hist_headers; 2057 browser->show_headers = symbol_conf.show_hist_headers;
2060 browser->hbt = hbt;
2061 browser->env = env;
2062 browser->title = perf_evsel_browser_title;
2063 2058
2064 hists__for_each_format(hists, fmt) { 2059 hists__for_each_format(hists, fmt) {
2065 perf_hpp__reset_width(fmt, hists); 2060 perf_hpp__reset_width(fmt, hists);
@@ -2070,6 +2065,21 @@ struct hist_browser *hist_browser__new(struct hists *hists,
2070 return browser; 2065 return browser;
2071} 2066}
2072 2067
2068static struct hist_browser *
2069perf_evsel_browser__new(struct perf_evsel *evsel,
2070 struct hist_browser_timer *hbt,
2071 struct perf_env *env)
2072{
2073 struct hist_browser *browser = hist_browser__new(evsel__hists(evsel));
2074
2075 if (browser) {
2076 browser->hbt = hbt;
2077 browser->env = env;
2078 browser->title = perf_evsel_browser_title;
2079 }
2080 return browser;
2081}
2082
2073void hist_browser__delete(struct hist_browser *browser) 2083void hist_browser__delete(struct hist_browser *browser)
2074{ 2084{
2075 free(browser); 2085 free(browser);
@@ -2652,7 +2662,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
2652 struct perf_env *env) 2662 struct perf_env *env)
2653{ 2663{
2654 struct hists *hists = evsel__hists(evsel); 2664 struct hists *hists = evsel__hists(evsel);
2655 struct hist_browser *browser = hist_browser__new(hists, hbt, env); 2665 struct hist_browser *browser = perf_evsel_browser__new(evsel, hbt, env);
2656 struct branch_info *bi; 2666 struct branch_info *bi;
2657#define MAX_OPTIONS 16 2667#define MAX_OPTIONS 16
2658 char *options[MAX_OPTIONS]; 2668 char *options[MAX_OPTIONS];
diff --git a/tools/perf/ui/browsers/hists.h b/tools/perf/ui/browsers/hists.h
index cf9d04928ccc..ec55a511d910 100644
--- a/tools/perf/ui/browsers/hists.h
+++ b/tools/perf/ui/browsers/hists.h
@@ -24,9 +24,7 @@ struct hist_browser {
24 char *bf, size_t size); 24 char *bf, size_t size);
25}; 25};
26 26
27struct hist_browser *hist_browser__new(struct hists *hists, 27struct hist_browser *hist_browser__new(struct hists *hists);
28 struct hist_browser_timer *hbt,
29 struct perf_env *env);
30void hist_browser__delete(struct hist_browser *browser); 28void hist_browser__delete(struct hist_browser *browser);
31int hist_browser__run(struct hist_browser *browser, const char *help); 29int hist_browser__run(struct hist_browser *browser, const char *help);
32#endif /* _PERF_UI_BROWSER_HISTS_H_ */ 30#endif /* _PERF_UI_BROWSER_HISTS_H_ */