tree 1ca1b9a0aff32f1542a9dc3d2f5ccac7ab8a52e3
parent bc5c6c043d8381676339fb3da59cc4cc5921d368
author Steven Rostedt <srostedt@redhat.com> 1244658514 -0400
committer Steven Rostedt <rostedt@goodmis.org> 1244658514 -0400

tracing: do not translate event helper macros in print format

By moving the macro that creates the print format code above the
defining of the event macro helpers (__get_str, __print_symbolic,
and __get_dynamic_array), we get a little cleaner print format.

Instead of:

  (char *)((void *)REC + REC->__data_loc_name)

we get:

   __get_str(name)

Instead of:

   ({ static const struct trace_print_flags symbols[] = { { HI_SOFTIRQ, "HI" }, {

we get:

   __print_symbolic(REC->vec, { HI_SOFTIRQ, "HI" }, {

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
