Messages in this thread Patch in this message | | | Date | Sun, 12 Jul 2009 16:58:18 +0600 | Subject | [PATCH] ftrace: Add missing __init in ftrace_profile_debugfs() | From | Rakib Mullick <> |
| |
Impact: Fix section mismatch.
The function ftrace_profile_debugfs() references a variable placed in .init.data section. Thus causes a section mismatch warning. Since ftrace_profile_debugfs() has been called from only ftrace_init_debugfs, so we can safely mark ftrace_profile_debugfs as init. Also it contains a trivial style fix, __init should be placed between function type and function name (ftrace_init_debugfs).
We were warned by the following warning:
LD kernel/trace/libftrace.o WARNING: kernel/trace/libftrace.o(.text+0xff0): Section mismatch in reference from the function ftrace_profile_debugfs() to the variable .init.data:function_stats The function ftrace_profile_debugfs() references the variable __initdata function_stats. This is often because ftrace_profile_debugfs lacks a __initdata annotation or the annotation of function_stats is wrong.
--- Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com>
--- linus/kernel/trace/ftrace.c 2009-07-11 20:54:13.000000000 +0600 +++ rakib/kernel/trace/ftrace.c 2009-07-12 12:21:54.000000000 +0600 @@ -768,7 +768,7 @@ static struct tracer_stat function_stats .stat_show = function_stat_show };
-static void ftrace_profile_debugfs(struct dentry *d_tracer) +static void __init ftrace_profile_debugfs(struct dentry *d_tracer) { struct ftrace_profile_stat *stat; struct dentry *entry; @@ -813,7 +813,7 @@ static void ftrace_profile_debugfs(struc }
#else /* CONFIG_FUNCTION_PROFILER */ -static void ftrace_profile_debugfs(struct dentry *d_tracer) +static void __init ftrace_profile_debugfs(struct dentry *d_tracer) { } #endif /* CONFIG_FUNCTION_PROFILER */ @@ -3068,7 +3068,7 @@ static const struct file_operations ftra .write = ftrace_pid_write, };
-static __init int ftrace_init_debugfs(void) +static int __init ftrace_init_debugfs(void) { struct dentry *d_tracer;
| |