[PATCH] ftrace: Add missing __init in ftrace_profile_debugfs()

From: Rakib Mullick
Date: Sun Jul 12 2009 - 06:58:33 EST


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@xxxxxxxxx>

--- 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;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/