]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ftrace: Move the function commands into the tracing directory
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 31 Mar 2017 23:21:41 +0000 (19:21 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 21 Apr 2017 02:06:33 +0000 (22:06 -0400)
As nothing outside the tracing directory uses the function command mechanism,
I'm moving the prototypes out of the include/linux/ftrace.h and into the
local kernel/trace/trace.h header. I plan on making them hook to the
trace_array structure which is local to kernel/trace, and I do not want to
expose it to the rest of the kernel. This requires that the command functions
must also be local to tracing. But luckily nothing else uses them.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
include/linux/ftrace.h
kernel/trace/trace.h

index 3e790ff1c50142fcc5c9c10fed8383d88446bb21..774e7a95c20188bea3a84307902b4e2935e74263 100644 (file)
@@ -326,14 +326,6 @@ static inline void stack_tracer_disable(void) { }
 static inline void stack_tracer_enable(void) { }
 #endif
 
-struct ftrace_func_command {
-       struct list_head        list;
-       char                    *name;
-       int                     (*func)(struct ftrace_hash *hash,
-                                       char *func, char *cmd,
-                                       char *params, int enable);
-};
-
 #ifdef CONFIG_DYNAMIC_FTRACE
 
 int ftrace_arch_code_modify_prepare(void);
@@ -421,9 +413,6 @@ void ftrace_set_global_notrace(unsigned char *buf, int len, int reset);
 void ftrace_free_filter(struct ftrace_ops *ops);
 void ftrace_ops_set_global_filter(struct ftrace_ops *ops);
 
-int register_ftrace_command(struct ftrace_func_command *cmd);
-int unregister_ftrace_command(struct ftrace_func_command *cmd);
-
 enum {
        FTRACE_UPDATE_CALLS             = (1 << 0),
        FTRACE_DISABLE_CALLS            = (1 << 1),
@@ -639,14 +628,6 @@ static inline void ftrace_enable_daemon(void) { }
 static inline void ftrace_module_init(struct module *mod) { }
 static inline void ftrace_module_enable(struct module *mod) { }
 static inline void ftrace_release_mod(struct module *mod) { }
-static inline __init int register_ftrace_command(struct ftrace_func_command *cmd)
-{
-       return -EINVAL;
-}
-static inline __init int unregister_ftrace_command(char *cmd_name)
-{
-       return -EINVAL;
-}
 static inline int ftrace_text_reserved(const void *start, const void *end)
 {
        return 0;
index 2ff6d49fa5ca042b34a6ebf9258c455ef28577e9..a63411c53c5e374f601d210f73503412c1aef59c 100644 (file)
@@ -880,6 +880,13 @@ print_graph_function_flags(struct trace_iterator *iter, u32 flags)
 extern struct list_head ftrace_pids;
 
 #ifdef CONFIG_FUNCTION_TRACER
+struct ftrace_func_command {
+       struct list_head        list;
+       char                    *name;
+       int                     (*func)(struct ftrace_hash *hash,
+                                       char *func, char *cmd,
+                                       char *params, int enable);
+};
 extern bool ftrace_filter_param __initdata;
 static inline int ftrace_trace_task(struct trace_array *tr)
 {
@@ -948,10 +955,23 @@ extern void
 unregister_ftrace_function_probe_func(char *glob, struct ftrace_probe_ops *ops);
 extern void unregister_ftrace_function_probe_all(char *glob);
 
+int register_ftrace_command(struct ftrace_func_command *cmd);
+int unregister_ftrace_command(struct ftrace_func_command *cmd);
+
 void ftrace_create_filter_files(struct ftrace_ops *ops,
                                struct dentry *parent);
 void ftrace_destroy_filter_files(struct ftrace_ops *ops);
 #else
+struct ftrace_func_command;
+
+static inline __init int register_ftrace_command(struct ftrace_func_command *cmd)
+{
+       return -EINVAL;
+}
+static inline __init int unregister_ftrace_command(char *cmd_name)
+{
+       return -EINVAL;
+}
 /*
  * The ops parameter passed in is usually undefined.
  * This must be a macro.