1#ifdef CONFIG_MAC80211_MESSAGE_TRACING
2
3#if !defined(__MAC80211_MSG_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ)
4#define __MAC80211_MSG_DRIVER_TRACE
5
6#include <linux/tracepoint.h>
7#include <net/mac80211.h>
8#include "ieee80211_i.h"
9
10#undef TRACE_SYSTEM
11#define TRACE_SYSTEM mac80211_msg
12
13#define MAX_MSG_LEN	100
14
15DECLARE_EVENT_CLASS(mac80211_msg_event,
16	TP_PROTO(struct va_format *vaf),
17
18	TP_ARGS(vaf),
19
20	TP_STRUCT__entry(
21		__dynamic_array(char, msg, MAX_MSG_LEN)
22	),
23
24	TP_fast_assign(
25		WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
26				       MAX_MSG_LEN, vaf->fmt,
27				       *vaf->va) >= MAX_MSG_LEN);
28	),
29
30	TP_printk("%s", __get_str(msg))
31);
32
33DEFINE_EVENT(mac80211_msg_event, mac80211_info,
34	TP_PROTO(struct va_format *vaf),
35	TP_ARGS(vaf)
36);
37DEFINE_EVENT(mac80211_msg_event, mac80211_dbg,
38	TP_PROTO(struct va_format *vaf),
39	TP_ARGS(vaf)
40);
41DEFINE_EVENT(mac80211_msg_event, mac80211_err,
42	TP_PROTO(struct va_format *vaf),
43	TP_ARGS(vaf)
44);
45#endif /* !__MAC80211_MSG_DRIVER_TRACE || TRACE_HEADER_MULTI_READ */
46
47#undef TRACE_INCLUDE_PATH
48#define TRACE_INCLUDE_PATH .
49#undef TRACE_INCLUDE_FILE
50#define TRACE_INCLUDE_FILE trace_msg
51#include <trace/define_trace.h>
52
53#endif
54