aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2013-03-12 09:25:00 -0400
committerSteven Rostedt <rostedt@goodmis.org>2013-03-15 00:35:58 -0400
commit8b8fa62c60e03a53c46324075a8dc25821741daa (patch)
tree0ae18b4534472fbf870461c050789f5ddabbf0d3 /kernel/trace
parent1c31714328be90764e46716f31fb0bd6da44c305 (diff)
tracing: Consolidate ftrace_trace_onoff_unreg() into callback
The only thing ftrace_trace_onoff_unreg() does is to do a strcmp() against the cmd parameter to determine what op to unregister. But this compare is also done after the location that this function is called (and returns). By moving the check for '!' to unregister after the strcmp(), the callback function itself can just do the unregister and we can get rid of the helper function. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace')
-rw-r--r--kernel/trace/trace_functions.c24
1 files changed, 5 insertions, 19 deletions
diff --git a/kernel/trace/trace_functions.c b/kernel/trace/trace_functions.c
index 38cfb290ecd9..a88a3e0b0cc2 100644
--- a/kernel/trace/trace_functions.c
+++ b/kernel/trace/trace_functions.c
@@ -283,22 +283,6 @@ ftrace_trace_onoff_print(struct seq_file *m, unsigned long ip,
283} 283}
284 284
285static int 285static int
286ftrace_trace_onoff_unreg(char *glob, char *cmd, char *param)
287{
288 struct ftrace_probe_ops *ops;
289
290 /* we register both traceon and traceoff to this callback */
291 if (strcmp(cmd, "traceon") == 0)
292 ops = &traceon_probe_ops;
293 else
294 ops = &traceoff_probe_ops;
295
296 unregister_ftrace_function_probe_func(glob, ops);
297
298 return 0;
299}
300
301static int
302ftrace_trace_onoff_callback(struct ftrace_hash *hash, 286ftrace_trace_onoff_callback(struct ftrace_hash *hash,
303 char *glob, char *cmd, char *param, int enable) 287 char *glob, char *cmd, char *param, int enable)
304{ 288{
@@ -311,15 +295,17 @@ ftrace_trace_onoff_callback(struct ftrace_hash *hash,
311 if (!enable) 295 if (!enable)
312 return -EINVAL; 296 return -EINVAL;
313 297
314 if (glob[0] == '!')
315 return ftrace_trace_onoff_unreg(glob+1, cmd, param);
316
317 /* we register both traceon and traceoff to this callback */ 298 /* we register both traceon and traceoff to this callback */
318 if (strcmp(cmd, "traceon") == 0) 299 if (strcmp(cmd, "traceon") == 0)
319 ops = &traceon_probe_ops; 300 ops = &traceon_probe_ops;
320 else 301 else
321 ops = &traceoff_probe_ops; 302 ops = &traceoff_probe_ops;
322 303
304 if (glob[0] == '!') {
305 unregister_ftrace_function_probe_func(glob+1, ops);
306 return 0;
307 }
308
323 if (!param) 309 if (!param)
324 goto out_reg; 310 goto out_reg;
325 311