Line data Source code
1 : /* SPDX-License-Identifier: GPL-2.0 */ 2 : #undef TRACE_SYSTEM 3 : #define TRACE_SYSTEM printk 4 : 5 : #if !defined(_TRACE_PRINTK_H) || defined(TRACE_HEADER_MULTI_READ) 6 : #define _TRACE_PRINTK_H 7 : 8 : #include <linux/tracepoint.h> 9 : 10 336 : TRACE_EVENT(console, 11 : TP_PROTO(const char *text, size_t len), 12 : 13 : TP_ARGS(text, len), 14 : 15 : TP_STRUCT__entry( 16 : __dynamic_array(char, msg, len + 1) 17 : ), 18 : 19 : TP_fast_assign( 20 : /* 21 : * Each trace entry is printed in a new line. 22 : * If the msg finishes with '\n', cut it off 23 : * to avoid blank lines in the trace. 24 : */ 25 : if ((len > 0) && (text[len-1] == '\n')) 26 : len -= 1; 27 : 28 : memcpy(__get_str(msg), text, len); 29 : __get_str(msg)[len] = 0; 30 : ), 31 : 32 : TP_printk("%s", __get_str(msg)) 33 : ); 34 : #endif /* _TRACE_PRINTK_H */ 35 : 36 : /* This part must be outside protection */ 37 : #include <trace/define_trace.h>