1 /* SPDX-License-Identifier: GPL-2.0 */
2 #if !defined(_TRACE_QLA_H_) || defined(TRACE_HEADER_MULTI_READ)
3 #define _TRACE_QLA_H_
4 
5 #include <linux/tracepoint.h>
6 
7 #undef TRACE_SYSTEM
8 #define TRACE_SYSTEM qla
9 
10 #define QLA_MSG_MAX 256
11 
12 #pragma GCC diagnostic push
13 #ifndef __clang__
14 #pragma GCC diagnostic ignored "-Wsuggest-attribute=format"
15 #endif
16 
17 DECLARE_EVENT_CLASS(qla_log_event,
18 	TP_PROTO(const char *buf,
19 		struct va_format *vaf),
20 
21 	TP_ARGS(buf, vaf),
22 
23 	TP_STRUCT__entry(
24 		__string(buf, buf)
25 		__dynamic_array(char, msg, QLA_MSG_MAX)
26 	),
27 	TP_fast_assign(
28 		__assign_str(buf, buf);
29 		vsnprintf(__get_str(msg), QLA_MSG_MAX, vaf->fmt, *vaf->va);
30 	),
31 
32 	TP_printk("%s %s", __get_str(buf), __get_str(msg))
33 );
34 
35 #pragma GCC diagnostic pop
36 
37 DEFINE_EVENT(qla_log_event, ql_dbg_log,
38 	TP_PROTO(const char *buf, struct va_format *vaf),
39 	TP_ARGS(buf, vaf)
40 );
41 
42 #endif /* _TRACE_QLA_H */
43 
44 #define TRACE_INCLUDE_FILE qla
45 
46 #include <trace/define_trace.h>
47