Skip to content

Commit b0dc52f

Browse files
committed
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: Steven Rostedt (VMware) <[email protected]>
1 parent 4e37958 commit b0dc52f

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

init/main.c

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,14 @@ void __init __weak mem_encrypt_init(void) { }
496496

497497
bool initcall_debug;
498498
core_param(initcall_debug, initcall_debug, bool, 0644);
499+
500+
#ifdef TRACEPOINTS_ENABLED
499501
static void __init initcall_debug_enable(void);
502+
#else
503+
static inline void initcall_debug_enable(void)
504+
{
505+
}
506+
#endif
500507

501508
/*
502509
* Set up kernel memory allocators
@@ -832,6 +839,7 @@ trace_initcall_finish_cb(void *data, initcall_t fn, int ret)
832839

833840
static ktime_t initcall_calltime;
834841

842+
#ifdef TRACEPOINTS_ENABLED
835843
static void __init initcall_debug_enable(void)
836844
{
837845
int ret;
@@ -842,6 +850,22 @@ static void __init initcall_debug_enable(void)
842850
&initcall_calltime);
843851
WARN(ret, "Failed to register initcall tracepoints\n");
844852
}
853+
# define do_trace_initcall_start trace_initcall_start
854+
# define do_trace_initcall_finish trace_initcall_finish
855+
#else
856+
static inline void do_trace_initcall_start(initcall_t fn)
857+
{
858+
if (!initcall_debug)
859+
return;
860+
trace_initcall_start_cb(&initcall_calltime, fn);
861+
}
862+
static inline void do_trace_initcall_finish(initcall_t fn, int ret)
863+
{
864+
if (!initcall_debug)
865+
return;
866+
trace_initcall_finish_cb(&initcall_calltime, fn, ret);
867+
}
868+
#endif /* !TRACEPOINTS_ENABLED */
845869

846870
int __init_or_module do_one_initcall(initcall_t fn)
847871
{
@@ -852,9 +876,9 @@ int __init_or_module do_one_initcall(initcall_t fn)
852876
if (initcall_blacklisted(fn))
853877
return -EPERM;
854878

855-
trace_initcall_start(fn);
879+
do_trace_initcall_start(fn);
856880
ret = fn();
857-
trace_initcall_finish(fn, ret);
881+
do_trace_initcall_finish(fn, ret);
858882

859883
msgbuf[0] = 0;
860884

0 commit comments

Comments
 (0)