1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Portions of this file
4  * Copyright (C) 2019 Intel Corporation
5  */
6 
7 #ifdef CONFIG_MAC80211_MESSAGE_TRACING
8 
9 #if !defined(__MAC80211_MSG_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ)
10 #define __MAC80211_MSG_DRIVER_TRACE
11 
12 #include <linux/tracepoint.h>
13 #include <net/mac80211.h>
14 #include "ieee80211_i.h"
15 
16 #undef TRACE_SYSTEM
17 #define TRACE_SYSTEM mac80211_msg
18 
19 #define MAX_MSG_LEN	120
20 
21 DECLARE_EVENT_CLASS(mac80211_msg_event,
22 	TP_PROTO(struct va_format *vaf),
23 
24 	TP_ARGS(vaf),
25 
26 	TP_STRUCT__entry(
27 		__vstring(msg, vaf->fmt, vaf->va)
28 	),
29 
30 	TP_fast_assign(
31 		__assign_vstr(msg, vaf->fmt, vaf->va);
32 	),
33 
34 	TP_printk("%s", __get_str(msg))
35 );
36 
37 DEFINE_EVENT(mac80211_msg_event, mac80211_info,
38 	TP_PROTO(struct va_format *vaf),
39 	TP_ARGS(vaf)
40 );
41 DEFINE_EVENT(mac80211_msg_event, mac80211_dbg,
42 	TP_PROTO(struct va_format *vaf),
43 	TP_ARGS(vaf)
44 );
45 DEFINE_EVENT(mac80211_msg_event, mac80211_err,
46 	TP_PROTO(struct va_format *vaf),
47 	TP_ARGS(vaf)
48 );
49 #endif /* !__MAC80211_MSG_DRIVER_TRACE || TRACE_HEADER_MULTI_READ */
50 
51 #undef TRACE_INCLUDE_PATH
52 #define TRACE_INCLUDE_PATH .
53 #undef TRACE_INCLUDE_FILE
54 #define TRACE_INCLUDE_FILE trace_msg
55 #include <trace/define_trace.h>
56 
57 #endif
58