perf hists browser: Introduce init()
authorJiri Olsa <jolsa@kernel.org>
Mon, 20 Jun 2016 21:58:18 +0000 (23:58 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 22 Jun 2016 12:56:35 +0000 (09:56 -0300)
Factoring out the hist_browser initialization code, so it could be used
from other parts 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-8-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/ui/browsers/hists.c
tools/perf/ui/browsers/hists.h

index a81b298b79f98bfe988973bb980ac4d1a2ba9640..9d744358ca78e10dcaf2145a040d9a330cc7dfdc 100644 (file)
@@ -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;
 }
index ec55a511d9109e22c8491b31856210e2f319a2c6..39bd0f28f211378f1f305f82d4ac7ce93a03973e 100644 (file)
@@ -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_ */