mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-19 09:04:57 +00:00
af6b9668e8
In an effort to add custom event macros that can be used to create your own custom events based on existing tracepoints, move the defines of the special macros used in TRACE_EVENT() into their own files such that they can be reused for TRACE_CUSTOM_EVENT(). Link: https://lkml.kernel.org/r/20220303220625.553406495@goodmis.org Cc: Ingo Molnar <mingo@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Joel Fernandes <joel@joelfernandes.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Tom Zanussi <zanussi@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
37 lines
1 KiB
C
37 lines
1 KiB
C
|
|
#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
|