diff options
Diffstat (limited to 'kernel/trace/trace_irqsoff.c')
-rw-r--r-- | kernel/trace/trace_irqsoff.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c index 98ea6d28df15..d3294721f119 100644 --- a/kernel/trace/trace_irqsoff.c +++ b/kernel/trace/trace_irqsoff.c | |||
@@ -218,6 +218,11 @@ static void irqsoff_graph_return(struct ftrace_graph_ret *trace) | |||
218 | atomic_dec(&data->disabled); | 218 | atomic_dec(&data->disabled); |
219 | } | 219 | } |
220 | 220 | ||
221 | static struct fgraph_ops fgraph_ops = { | ||
222 | .entryfunc = &irqsoff_graph_entry, | ||
223 | .retfunc = &irqsoff_graph_return, | ||
224 | }; | ||
225 | |||
221 | static void irqsoff_trace_open(struct trace_iterator *iter) | 226 | static void irqsoff_trace_open(struct trace_iterator *iter) |
222 | { | 227 | { |
223 | if (is_graph(iter->tr)) | 228 | if (is_graph(iter->tr)) |
@@ -272,13 +277,6 @@ __trace_function(struct trace_array *tr, | |||
272 | #else | 277 | #else |
273 | #define __trace_function trace_function | 278 | #define __trace_function trace_function |
274 | 279 | ||
275 | #ifdef CONFIG_FUNCTION_TRACER | ||
276 | static int irqsoff_graph_entry(struct ftrace_graph_ent *trace) | ||
277 | { | ||
278 | return -1; | ||
279 | } | ||
280 | #endif | ||
281 | |||
282 | static enum print_line_t irqsoff_print_line(struct trace_iterator *iter) | 280 | static enum print_line_t irqsoff_print_line(struct trace_iterator *iter) |
283 | { | 281 | { |
284 | return TRACE_TYPE_UNHANDLED; | 282 | return TRACE_TYPE_UNHANDLED; |
@@ -288,7 +286,6 @@ static void irqsoff_trace_open(struct trace_iterator *iter) { } | |||
288 | static void irqsoff_trace_close(struct trace_iterator *iter) { } | 286 | static void irqsoff_trace_close(struct trace_iterator *iter) { } |
289 | 287 | ||
290 | #ifdef CONFIG_FUNCTION_TRACER | 288 | #ifdef CONFIG_FUNCTION_TRACER |
291 | static void irqsoff_graph_return(struct ftrace_graph_ret *trace) { } | ||
292 | static void irqsoff_print_header(struct seq_file *s) | 289 | static void irqsoff_print_header(struct seq_file *s) |
293 | { | 290 | { |
294 | trace_default_header(s); | 291 | trace_default_header(s); |
@@ -468,8 +465,7 @@ static int register_irqsoff_function(struct trace_array *tr, int graph, int set) | |||
468 | return 0; | 465 | return 0; |
469 | 466 | ||
470 | if (graph) | 467 | if (graph) |
471 | ret = register_ftrace_graph(&irqsoff_graph_return, | 468 | ret = register_ftrace_graph(&fgraph_ops); |
472 | &irqsoff_graph_entry); | ||
473 | else | 469 | else |
474 | ret = register_ftrace_function(tr->ops); | 470 | ret = register_ftrace_function(tr->ops); |
475 | 471 | ||
@@ -485,7 +481,7 @@ static void unregister_irqsoff_function(struct trace_array *tr, int graph) | |||
485 | return; | 481 | return; |
486 | 482 | ||
487 | if (graph) | 483 | if (graph) |
488 | unregister_ftrace_graph(); | 484 | unregister_ftrace_graph(&fgraph_ops); |
489 | else | 485 | else |
490 | unregister_ftrace_function(tr->ops); | 486 | unregister_ftrace_function(tr->ops); |
491 | 487 | ||