提交 688f2f5b 编写于 作者: N Namhyung Kim 提交者: Arnaldo Carvalho de Melo

perf ui: Introduce generic ui_progress helper

Make ui_progress functions generic so that UI frontend code will add its
callbacks.
Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1352813436-14173-2-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 7da5c85d
......@@ -423,6 +423,7 @@ LIB_OBJS += $(OUTPUT)util/vdso.o
LIB_OBJS += $(OUTPUT)util/stat.o
LIB_OBJS += $(OUTPUT)ui/helpline.o
LIB_OBJS += $(OUTPUT)ui/progress.o
LIB_OBJS += $(OUTPUT)ui/hist.o
LIB_OBJS += $(OUTPUT)ui/stdio/hist.o
......
......@@ -111,14 +111,3 @@ struct perf_error_ops perf_gtk_eops = {
.warning = perf_gtk__warning_statusbar,
#endif
};
/*
* FIXME: Functions below should be implemented properly.
* For now, just add stubs for NO_NEWT=1 build.
*/
#ifndef NEWT_SUPPORT
void ui_progress__update(u64 curr __maybe_unused, u64 total __maybe_unused,
const char *title __maybe_unused)
{
}
#endif
#include "../cache.h"
#include "progress.h"
static void nop_progress_update(u64 curr __maybe_unused,
u64 total __maybe_unused,
const char *title __maybe_unused)
{
}
static struct ui_progress default_progress_fns =
{
.update = nop_progress_update,
};
struct ui_progress *progress_fns = &default_progress_fns;
void ui_progress__update(u64 curr, u64 total, const char *title)
{
return progress_fns->update(curr, total, title);
}
......@@ -3,6 +3,14 @@
#include <../types.h>
struct ui_progress {
void (*update)(u64, u64, const char *);
};
extern struct ui_progress *progress_fns;
void ui_progress__init(void);
void ui_progress__update(u64 curr, u64 total, const char *title);
#endif
......@@ -4,7 +4,7 @@
#include "../ui.h"
#include "../browser.h"
void ui_progress__update(u64 curr, u64 total, const char *title)
static void tui_progress__update(u64 curr, u64 total, const char *title)
{
int bar, y;
/*
......@@ -30,3 +30,13 @@ void ui_progress__update(u64 curr, u64 total, const char *title)
SLsmg_refresh();
pthread_mutex_unlock(&ui__lock);
}
static struct ui_progress tui_progress_fns =
{
.update = tui_progress__update,
};
void ui_progress__init(void)
{
progress_fns = &tui_progress_fns;
}
......@@ -118,6 +118,7 @@ int ui__init(void)
newtSetSuspendCallback(newt_suspend, NULL);
ui_helpline__init();
ui_browser__init();
ui_progress__init();
signal(SIGSEGV, ui__signal);
signal(SIGFPE, ui__signal);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册