init: Have initcall_debug still work without CONFIG_TRACEPOINTS

Add macros around the initcall_debug tracepoint code to have the code to
default back to the old method if CONFIG_TRACEPOINTS is not enabled.
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 4e37958d
...@@ -496,7 +496,14 @@ void __init __weak mem_encrypt_init(void) { } ...@@ -496,7 +496,14 @@ void __init __weak mem_encrypt_init(void) { }
bool initcall_debug; bool initcall_debug;
core_param(initcall_debug, initcall_debug, bool, 0644); core_param(initcall_debug, initcall_debug, bool, 0644);
#ifdef TRACEPOINTS_ENABLED
static void __init initcall_debug_enable(void); static void __init initcall_debug_enable(void);
#else
static inline void initcall_debug_enable(void)
{
}
#endif
/* /*
* Set up kernel memory allocators * Set up kernel memory allocators
...@@ -832,6 +839,7 @@ trace_initcall_finish_cb(void *data, initcall_t fn, int ret) ...@@ -832,6 +839,7 @@ trace_initcall_finish_cb(void *data, initcall_t fn, int ret)
static ktime_t initcall_calltime; static ktime_t initcall_calltime;
#ifdef TRACEPOINTS_ENABLED
static void __init initcall_debug_enable(void) static void __init initcall_debug_enable(void)
{ {
int ret; int ret;
...@@ -842,6 +850,22 @@ static void __init initcall_debug_enable(void) ...@@ -842,6 +850,22 @@ static void __init initcall_debug_enable(void)
&initcall_calltime); &initcall_calltime);
WARN(ret, "Failed to register initcall tracepoints\n"); WARN(ret, "Failed to register initcall tracepoints\n");
} }
# define do_trace_initcall_start trace_initcall_start
# define do_trace_initcall_finish trace_initcall_finish
#else
static inline void do_trace_initcall_start(initcall_t fn)
{
if (!initcall_debug)
return;
trace_initcall_start_cb(&initcall_calltime, fn);
}
static inline void do_trace_initcall_finish(initcall_t fn, int ret)
{
if (!initcall_debug)
return;
trace_initcall_finish_cb(&initcall_calltime, fn, ret);
}
#endif /* !TRACEPOINTS_ENABLED */
int __init_or_module do_one_initcall(initcall_t fn) int __init_or_module do_one_initcall(initcall_t fn)
{ {
...@@ -852,9 +876,9 @@ int __init_or_module do_one_initcall(initcall_t fn) ...@@ -852,9 +876,9 @@ int __init_or_module do_one_initcall(initcall_t fn)
if (initcall_blacklisted(fn)) if (initcall_blacklisted(fn))
return -EPERM; return -EPERM;
trace_initcall_start(fn); do_trace_initcall_start(fn);
ret = fn(); ret = fn();
trace_initcall_finish(fn, ret); do_trace_initcall_finish(fn, ret);
msgbuf[0] = 0; msgbuf[0] = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment