On Thu, Jan 14, 2021 at 3:52 PM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > > On Thu, 14 Jan 2021 08:49:57 +0100 > Alexander Potapenko <glider@xxxxxxxxxx> wrote: > > > We'll need to explicitly list the enum values once again in > > __print_symbolic(), right? E.g.: > > > > enum debugging_tool { > > TOOL_KFENCE, > > TOOL_KASAN, > > ... > > } > > > > TP_printk(__print_symbolic(__entry->error_detector, TOOL_KFENCE, > > TOOL_KASAN, ...), > > Usually what is done is to make this into a macro: > > #define REPORT_TOOL_LIST \ > EM(KFENCE, kfence) \ > EMe(KASAN, kasan) Thanks, will be done in v2! Note that checkpatch doesn't really like this declaration style, claiming that "Macros with complex values should be enclosed in parentheses". (although it is consistent with what's done in other trace event headers) > > #define EM(a,b) TRACE_DEFINE_ENUM(a) > #define EMe(a,b) TRACE_DEFINE_ENUM(a) These lines must end with a semicolon, according to other headers (and that becomes yet another thing that checkpatch barks at).