[tip:perf/core] perf hists browser: Introduce init()
From: tip-bot for Jiri Olsa
Date: Sun Jun 26 2016 - 06:52:24 EST
Commit-ID: fcd864265028b65bf154f35fe5a17591ffd49cb9
Gitweb: http://git.kernel.org/tip/fcd864265028b65bf154f35fe5a17591ffd49cb9
Author: Jiri Olsa <jolsa@xxxxxxxxxx>
AuthorDate: Mon, 20 Jun 2016 23:58:18 +0200
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Wed, 22 Jun 2016 09:56:35 -0300
perf hists browser: Introduce init()
Factoring out the hist_browser initialization code, so it could be used
from other parts in following patches.
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: David Ahern <dsahern@xxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Link: http://lkml.kernel.org/r/1466459899-1166-8-git-send-email-jolsa@xxxxxxxxxx
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/ui/browsers/hists.c | 35 ++++++++++++++++++++---------------
tools/perf/ui/browsers/hists.h | 2 ++
2 files changed, 22 insertions(+), 15 deletions(-)
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index a81b298b..9d74435 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -2042,25 +2042,30 @@ static int hist_browser__dump(struct hist_browser *browser)
return 0;
}
+void hist_browser__init(struct hist_browser *browser,
+ struct hists *hists)
+{
+ struct perf_hpp_fmt *fmt;
+
+ browser->hists = hists;
+ browser->b.refresh = hist_browser__refresh;
+ browser->b.refresh_dimensions = hist_browser__refresh_dimensions;
+ browser->b.seek = ui_browser__hists_seek;
+ browser->b.use_navkeypressed = true;
+ browser->show_headers = symbol_conf.show_hist_headers;
+
+ hists__for_each_format(hists, fmt) {
+ perf_hpp__reset_width(fmt, hists);
+ ++browser->b.columns;
+ }
+}
+
struct hist_browser *hist_browser__new(struct hists *hists)
{
struct hist_browser *browser = zalloc(sizeof(*browser));
- if (browser) {
- struct perf_hpp_fmt *fmt;
-
- browser->hists = hists;
- browser->b.refresh = hist_browser__refresh;
- browser->b.refresh_dimensions = hist_browser__refresh_dimensions;
- browser->b.seek = ui_browser__hists_seek;
- browser->b.use_navkeypressed = true;
- browser->show_headers = symbol_conf.show_hist_headers;
-
- hists__for_each_format(hists, fmt) {
- perf_hpp__reset_width(fmt, hists);
- ++browser->b.columns;
- }
- }
+ if (browser)
+ hist_browser__init(browser, hists);
return browser;
}
diff --git a/tools/perf/ui/browsers/hists.h b/tools/perf/ui/browsers/hists.h
index ec55a51..39bd0f2 100644
--- a/tools/perf/ui/browsers/hists.h
+++ b/tools/perf/ui/browsers/hists.h
@@ -27,4 +27,6 @@ struct hist_browser {
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);
+void hist_browser__init(struct hist_browser *browser,
+ struct hists *hists);
#endif /* _PERF_UI_BROWSER_HISTS_H_ */