Linux Audio

Check our new training course

Loading...
v6.2
 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
10TRACE_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>
v3.5.6
 
 1#undef TRACE_SYSTEM
 2#define TRACE_SYSTEM printk
 3
 4#if !defined(_TRACE_PRINTK_H) || defined(TRACE_HEADER_MULTI_READ)
 5#define _TRACE_PRINTK_H
 6
 7#include <linux/tracepoint.h>
 8
 9TRACE_EVENT_CONDITION(console,
10	TP_PROTO(const char *log_buf, unsigned start, unsigned end,
11		 unsigned log_buf_len),
12
13	TP_ARGS(log_buf, start, end, log_buf_len),
14
15	TP_CONDITION(start != end),
16
17	TP_STRUCT__entry(
18		__dynamic_array(char, msg, end - start + 1)
19	),
20
21	TP_fast_assign(
22		if ((start & (log_buf_len - 1)) > (end & (log_buf_len - 1))) {
23			memcpy(__get_dynamic_array(msg),
24			       log_buf + (start & (log_buf_len - 1)),
25			       log_buf_len - (start & (log_buf_len - 1)));
26			memcpy((char *)__get_dynamic_array(msg) +
27			       log_buf_len - (start & (log_buf_len - 1)),
28			       log_buf, end & (log_buf_len - 1));
29		} else
30			memcpy(__get_dynamic_array(msg),
31			       log_buf + (start & (log_buf_len - 1)),
32			       end - start);
33		((char *)__get_dynamic_array(msg))[end - start] = 0;
34	),
35
36	TP_printk("%s", __get_str(msg))
37);
38#endif /* _TRACE_PRINTK_H */
39
40/* This part must be outside protection */
41#include <trace/define_trace.h>