diff options
author | Jiri Olsa <jolsa@kernel.org> | 2016-06-20 17:58:17 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-06-22 08:56:35 -0400 |
commit | a6ec894dea730bdc5568289898d27311e4031da0 (patch) | |
tree | 9ef396e479859ccfde185101a550a483ba1c493e /tools/perf/ui | |
parent | b1c7a8f7a1dad1aa46ec26cdfa487598634c5267 (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.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 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 | ||
2045 | struct hist_browser *hist_browser__new(struct hists *hists, | 2045 | struct 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 | ||
2068 | static struct hist_browser * | ||
2069 | perf_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 | |||
2073 | void hist_browser__delete(struct hist_browser *browser) | 2083 | void 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 | ||
27 | struct hist_browser *hist_browser__new(struct hists *hists, | 27 | struct hist_browser *hist_browser__new(struct hists *hists); |
28 | struct hist_browser_timer *hbt, | ||
29 | struct perf_env *env); | ||
30 | void hist_browser__delete(struct hist_browser *browser); | 28 | void hist_browser__delete(struct hist_browser *browser); |
31 | int hist_browser__run(struct hist_browser *browser, const char *help); | 29 | int hist_browser__run(struct hist_browser *browser, const char *help); |
32 | #endif /* _PERF_UI_BROWSER_HISTS_H_ */ | 30 | #endif /* _PERF_UI_BROWSER_HISTS_H_ */ |