diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-05-20 19:21:47 -0400 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2009-05-26 14:31:50 -0400 |
commit | 0f4fc29dd68dfab9c6ddd5d087d34a5b6818cb00 (patch) | |
tree | af3d210c8db9adcf117580c949fb708badcb520b /include/trace | |
parent | 62ba180e80f4194a498585ac0e4c07daa8ca08d1 (diff) |
tracing: add __print_symbolic to trace events
This patch adds __print_symbolic which is similar to __print_flags but
works for an enumeration type instead. That is, there is only a one to one
mapping between the values and the symbols. When a match is made, then
it is printed, otherwise the hex value is outputed.
[ Impact: add interface for showing symbol names in events ]
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'include/trace')
-rw-r--r-- | include/trace/ftrace.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h index 22c94719c569..87fc227c6fbe 100644 --- a/include/trace/ftrace.h +++ b/include/trace/ftrace.h | |||
@@ -130,6 +130,14 @@ | |||
130 | ftrace_print_flags_seq(p, delim, flag, flags); \ | 130 | ftrace_print_flags_seq(p, delim, flag, flags); \ |
131 | }) | 131 | }) |
132 | 132 | ||
133 | #undef __print_symbolic | ||
134 | #define __print_symbolic(value, symbol_array...) \ | ||
135 | ({ \ | ||
136 | static const struct trace_print_flags symbols[] = \ | ||
137 | { symbol_array, { -1, NULL }}; \ | ||
138 | ftrace_print_symbols_seq(p, value, symbols); \ | ||
139 | }) | ||
140 | |||
133 | #undef TRACE_EVENT | 141 | #undef TRACE_EVENT |
134 | #define TRACE_EVENT(call, proto, args, tstruct, assign, print) \ | 142 | #define TRACE_EVENT(call, proto, args, tstruct, assign, print) \ |
135 | enum print_line_t \ | 143 | enum print_line_t \ |