Commit c0719e5a authored by Steven Rostedt's avatar Steven Rostedt Committed by Ingo Molnar

ftrace: use ftrace_release for all dynamic ftrace functions

ftrace_release is necessary for all uses of dynamic ftrace and not just
the archs that have CONFIG_FTRACE_MCOUNT_RECORD defined.
Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent d3ee6d99
...@@ -77,8 +77,10 @@ extern void mcount_call(void); ...@@ -77,8 +77,10 @@ extern void mcount_call(void);
extern int skip_trace(unsigned long ip); extern int skip_trace(unsigned long ip);
void ftrace_disable_daemon(void); extern void ftrace_release(void *start, unsigned long size);
void ftrace_enable_daemon(void);
extern void ftrace_disable_daemon(void);
extern void ftrace_enable_daemon(void);
#else #else
# define skip_trace(ip) ({ 0; }) # define skip_trace(ip) ({ 0; })
...@@ -86,6 +88,7 @@ void ftrace_enable_daemon(void); ...@@ -86,6 +88,7 @@ void ftrace_enable_daemon(void);
# define ftrace_set_filter(buf, len, reset) do { } while (0) # define ftrace_set_filter(buf, len, reset) do { } while (0)
# define ftrace_disable_daemon() do { } while (0) # define ftrace_disable_daemon() do { } while (0)
# define ftrace_enable_daemon() do { } while (0) # define ftrace_enable_daemon() do { } while (0)
static inline void ftrace_release(void *start, unsigned long size) { }
#endif /* CONFIG_DYNAMIC_FTRACE */ #endif /* CONFIG_DYNAMIC_FTRACE */
/* totally disable ftrace - can not re-enable after this */ /* totally disable ftrace - can not re-enable after this */
...@@ -199,12 +202,10 @@ static inline void ftrace_dump(void) { } ...@@ -199,12 +202,10 @@ static inline void ftrace_dump(void) { }
#ifdef CONFIG_FTRACE_MCOUNT_RECORD #ifdef CONFIG_FTRACE_MCOUNT_RECORD
extern void ftrace_init(void); extern void ftrace_init(void);
extern void ftrace_init_module(unsigned long *start, unsigned long *end); extern void ftrace_init_module(unsigned long *start, unsigned long *end);
extern void ftrace_release(void *start, unsigned long size);
#else #else
static inline void ftrace_init(void) { } static inline void ftrace_init(void) { }
static inline void static inline void
ftrace_init_module(unsigned long *start, unsigned long *end) { } ftrace_init_module(unsigned long *start, unsigned long *end) { }
static inline void ftrace_release(void *start, unsigned long size) { }
#endif #endif
......
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