| #define __app__(x, y) str__##x##y | |
| #define __app(x, y) __app__(x, y) | |
| #define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name) | |
| #define TRACE_MAKE_SYSTEM_STR() \ | |
| static const char TRACE_SYSTEM_STRING[] = \ | |
| __stringify(TRACE_SYSTEM) | |
| TRACE_MAKE_SYSTEM_STR(); | |
| #undef TRACE_DEFINE_ENUM | |
| #define TRACE_DEFINE_ENUM(a) \ | |
| static struct trace_eval_map __used __initdata \ | |
| __##TRACE_SYSTEM##_##a = \ | |
| { \ | |
| .system = TRACE_SYSTEM_STRING, \ | |
| .eval_string = #a, \ | |
| .eval_value = a \ | |
| }; \ | |
| static struct trace_eval_map __used \ | |
| __section("_ftrace_eval_map") \ | |
| *TRACE_SYSTEM##_##a = &__##TRACE_SYSTEM##_##a | |
| #undef TRACE_DEFINE_SIZEOF | |
| #define TRACE_DEFINE_SIZEOF(a) \ | |
| static struct trace_eval_map __used __initdata \ | |
| __##TRACE_SYSTEM##_##a = \ | |
| { \ | |
| .system = TRACE_SYSTEM_STRING, \ | |
| .eval_string = "sizeof(" #a ")", \ | |
| .eval_value = sizeof(a) \ | |
| }; \ | |
| static struct trace_eval_map __used \ | |
| __section("_ftrace_eval_map") \ | |
| *TRACE_SYSTEM##_##a = &__##TRACE_SYSTEM##_##a |