Branch data 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 : 3 : 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>