Linux-libre 5.7.5-gnu
[librecmc/linux-libre.git] / net / mac80211 / trace_msg.h
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                 __dynamic_array(char, msg, MAX_MSG_LEN)
28         ),
29
30         TP_fast_assign(
31                 WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg),
32                                        MAX_MSG_LEN, vaf->fmt,
33                                        *vaf->va) >= MAX_MSG_LEN);
34         ),
35
36         TP_printk("%s", __get_str(msg))
37 );
38
39 DEFINE_EVENT(mac80211_msg_event, mac80211_info,
40         TP_PROTO(struct va_format *vaf),
41         TP_ARGS(vaf)
42 );
43 DEFINE_EVENT(mac80211_msg_event, mac80211_dbg,
44         TP_PROTO(struct va_format *vaf),
45         TP_ARGS(vaf)
46 );
47 DEFINE_EVENT(mac80211_msg_event, mac80211_err,
48         TP_PROTO(struct va_format *vaf),
49         TP_ARGS(vaf)
50 );
51 #endif /* !__MAC80211_MSG_DRIVER_TRACE || TRACE_HEADER_MULTI_READ */
52
53 #undef TRACE_INCLUDE_PATH
54 #define TRACE_INCLUDE_PATH .
55 #undef TRACE_INCLUDE_FILE
56 #define TRACE_INCLUDE_FILE trace_msg
57 #include <trace/define_trace.h>
58
59 #endif