blob: 40141df09f255fac46043f67656e98e16adda5b9 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Andrei Otcheretianski78be2d22019-03-15 17:38:57 +02002/*
3 * Portions of this file
4 * Copyright (C) 2019 Intel Corporation
5 */
6
Steven Rostedt (Red Hat)1bc1e4d2015-04-06 23:02:22 -04007#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
Andrei Otcheretianski78be2d22019-03-15 17:38:57 +020019#define MAX_MSG_LEN 120
Steven Rostedt (Red Hat)1bc1e4d2015-04-06 23:02:22 -040020
21DECLARE_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
39DEFINE_EVENT(mac80211_msg_event, mac80211_info,
40 TP_PROTO(struct va_format *vaf),
41 TP_ARGS(vaf)
42);
43DEFINE_EVENT(mac80211_msg_event, mac80211_dbg,
44 TP_PROTO(struct va_format *vaf),
45 TP_ARGS(vaf)
46);
47DEFINE_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