From: "Steven Rostedt (VMware)" <rost...@goodmis.org>

ftrace_graph_entry_stub() is defined in generic code, its prototype should
be in the generic header and not defined throughout architecture specific
code in order to use it.

Cc: Greentime Hu <green...@gmail.com>
Cc: Vincent Chen <deanbo...@gmail.com>
Cc: "James E.J. Bottomley" <james.bottom...@hansenpartnership.com>
Cc: Helge Deller <del...@gmx.de>
Cc: linux-par...@vger.kernel.org
Signed-off-by: Steven Rostedt (VMware) <rost...@goodmis.org>
---
 arch/nds32/kernel/ftrace.c  | 1 -
 arch/parisc/kernel/ftrace.c | 1 -
 include/linux/ftrace.h      | 2 ++
 3 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/nds32/kernel/ftrace.c b/arch/nds32/kernel/ftrace.c
index 8a41372551ff..fd2a54b8cd57 100644
--- a/arch/nds32/kernel/ftrace.c
+++ b/arch/nds32/kernel/ftrace.c
@@ -7,7 +7,6 @@
 #ifndef CONFIG_DYNAMIC_FTRACE
 extern void (*ftrace_trace_function)(unsigned long, unsigned long,
                                     struct ftrace_ops*, struct pt_regs*);
-extern int ftrace_graph_entry_stub(struct ftrace_graph_ent *trace);
 extern void ftrace_graph_caller(void);
 
 noinline void __naked ftrace_stub(unsigned long ip, unsigned long parent_ip,
diff --git a/arch/parisc/kernel/ftrace.c b/arch/parisc/kernel/ftrace.c
index e46a4157a894..a28f915993b1 100644
--- a/arch/parisc/kernel/ftrace.c
+++ b/arch/parisc/kernel/ftrace.c
@@ -51,7 +51,6 @@ void notrace __hot ftrace_function_trampoline(unsigned long 
parent,
                                unsigned long org_sp_gr3)
 {
        extern ftrace_func_t ftrace_trace_function;  /* depends on 
CONFIG_DYNAMIC_FTRACE */
-       extern int ftrace_graph_entry_stub(struct ftrace_graph_ent *trace);
 
        if (ftrace_trace_function != ftrace_stub) {
                /* struct ftrace_ops *op, struct pt_regs *regs); */
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 730876187344..9b28fce436ca 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -751,6 +751,8 @@ struct ftrace_graph_ret {
 typedef void (*trace_func_graph_ret_t)(struct ftrace_graph_ret *); /* return */
 typedef int (*trace_func_graph_ent_t)(struct ftrace_graph_ent *); /* entry */
 
+extern int ftrace_graph_entry_stub(struct ftrace_graph_ent *trace);
+
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
 
 struct fgraph_ops {
-- 
2.20.1


Reply via email to