Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6ec894d authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

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: default avatarJiri 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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent b1c7a8f7
Loading
Loading
Loading
Loading
+17 −7
Original line number Diff line number Diff line
@@ -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];
+1 −3
Original line number Diff line number Diff line
@@ -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_ */