| |
| #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 |