diff options
author | Jiri Olsa <jolsa@kernel.org> | 2016-06-20 21:58:17 (GMT) |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-06-22 12:56:35 (GMT) |
commit | a6ec894dea730bdc5568289898d27311e4031da0 (patch) | |
tree | 9ef396e479859ccfde185101a550a483ba1c493e /tools/perf/ui/browsers | |
parent | b1c7a8f7a1dad1aa46ec26cdfa487598634c5267 (diff) | |
download | linux-a6ec894dea730bdc5568289898d27311e4031da0.tar.xz |
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/browsers')
-rw-r--r-- | tools/perf/ui/browsers/hists.c | 24 | ||||
-rw-r--r-- | tools/perf/ui/browsers/hists.h | 4 |
2 files changed, 18 insertions, 10 deletions
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index ccb9ed6..a81b298b 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) return 0; } -struct hist_browser *hist_browser__new(struct hists *hists, - struct hist_browser_timer *hbt, - struct perf_env *env) +struct hist_browser *hist_browser__new(struct hists *hists) { struct hist_browser *browser = zalloc(sizeof(*browser)); @@ -2057,9 +2055,6 @@ struct hist_browser *hist_browser__new(struct hists *hists, browser->b.seek = ui_browser__hists_seek; browser->b.use_navkeypressed = true; browser->show_headers = symbol_conf.show_hist_headers; - browser->hbt = hbt; - browser->env = env; - browser->title = perf_evsel_browser_title; hists__for_each_format(hists, fmt) { perf_hpp__reset_width(fmt, hists); @@ -2070,6 +2065,21 @@ struct hist_browser *hist_browser__new(struct hists *hists, return browser; } +static struct hist_browser * +perf_evsel_browser__new(struct perf_evsel *evsel, + struct hist_browser_timer *hbt, + struct perf_env *env) +{ + struct hist_browser *browser = hist_browser__new(evsel__hists(evsel)); + + if (browser) { + browser->hbt = hbt; + browser->env = env; + browser->title = perf_evsel_browser_title; + } + return browser; +} + void hist_browser__delete(struct hist_browser *browser) { free(browser); @@ -2652,7 +2662,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events, struct perf_env *env) { struct hists *hists = evsel__hists(evsel); - struct hist_browser *browser = hist_browser__new(hists, hbt, env); + struct hist_browser *browser = perf_evsel_browser__new(evsel, hbt, env); struct branch_info *bi; #define MAX_OPTIONS 16 char *options[MAX_OPTIONS]; diff --git a/tools/perf/ui/browsers/hists.h b/tools/perf/ui/browsers/hists.h index cf9d049..ec55a51 100644 --- a/tools/perf/ui/browsers/hists.h +++ b/tools/perf/ui/browsers/hists.h @@ -24,9 +24,7 @@ struct hist_browser { char *bf, size_t size); }; -struct hist_browser *hist_browser__new(struct hists *hists, - struct hist_browser_timer *hbt, - struct perf_env *env); +struct hist_browser *hist_browser__new(struct hists *hists); void hist_browser__delete(struct hist_browser *browser); int hist_browser__run(struct hist_browser *browser, const char *help); #endif /* _PERF_UI_BROWSER_HISTS_H_ */ |