1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /******************************************************************************
3  *
4  * Copyright(c) 2009 - 2014 Intel Corporation. All rights reserved.
5  *****************************************************************************/
6 
7 #if !defined(__IWLWIFI_DEVICE_TRACE_MSG) || defined(TRACE_HEADER_MULTI_READ)
8 #define __IWLWIFI_DEVICE_TRACE_MSG
9 
10 #include <linux/tracepoint.h>
11 
12 #undef TRACE_SYSTEM
13 #define TRACE_SYSTEM iwlwifi_msg
14 
15 #define MAX_MSG_LEN	110
16 
17 DECLARE_EVENT_CLASS(iwlwifi_msg_event,
18 	TP_PROTO(struct va_format *vaf),
19 	TP_ARGS(vaf),
20 	TP_STRUCT__entry(
21 		__vstring(msg, vaf->fmt, vaf->va)
22 	),
23 	TP_fast_assign(
24 		__assign_vstr(msg, vaf->fmt, vaf->va);
25 	),
26 	TP_printk("%s", __get_str(msg))
27 );
28 
29 DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_err,
30 	TP_PROTO(struct va_format *vaf),
31 	TP_ARGS(vaf)
32 );
33 
34 DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_warn,
35 	TP_PROTO(struct va_format *vaf),
36 	TP_ARGS(vaf)
37 );
38 
39 DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_info,
40 	TP_PROTO(struct va_format *vaf),
41 	TP_ARGS(vaf)
42 );
43 
44 DEFINE_EVENT(iwlwifi_msg_event, iwlwifi_crit,
45 	TP_PROTO(struct va_format *vaf),
46 	TP_ARGS(vaf)
47 );
48 
49 TRACE_EVENT(iwlwifi_dbg,
50 	TP_PROTO(u32 level, const char *function,
51 		 struct va_format *vaf),
52 	TP_ARGS(level, function, vaf),
53 	TP_STRUCT__entry(
54 		__field(u32, level)
55 		__string(function, function)
56 		__vstring(msg, vaf->fmt, vaf->va)
57 	),
58 	TP_fast_assign(
59 		__entry->level = level;
60 		__assign_str(function, function);
61 		__assign_vstr(msg, vaf->fmt, vaf->va);
62 	),
63 	TP_printk("%s", __get_str(msg))
64 );
65 #endif /* __IWLWIFI_DEVICE_TRACE_MSG */
66 
67 #undef TRACE_INCLUDE_PATH
68 #define TRACE_INCLUDE_PATH .
69 #undef TRACE_INCLUDE_FILE
70 #define TRACE_INCLUDE_FILE iwl-devtrace-msg
71 #include <trace/define_trace.h>
72