1// SPDX-License-Identifier: GPL-2.0
2/* bug in tracepoint.h, it should include this */
3#include <linux/module.h>
4
5/* sparse isn't too happy with all macros... */
6#ifndef __CHECKER__
7#include <net/cfg80211.h>
8#include "driver-ops.h"
9#include "debug.h"
10#define CREATE_TRACE_POINTS
11#include "trace.h"
12#include "trace_msg.h"
13
14#ifdef CONFIG_MAC80211_MESSAGE_TRACING
15void __sdata_info(const char *fmt, ...)
16{
17 struct va_format vaf = {
18 .fmt = fmt,
19 };
20 va_list args;
21
22 va_start(args, fmt);
23 vaf.va = &args;
24
25 pr_info("%pV", &vaf);
26 trace_mac80211_info(vaf: &vaf);
27 va_end(args);
28}
29
30void __sdata_dbg(bool print, const char *fmt, ...)
31{
32 struct va_format vaf = {
33 .fmt = fmt,
34 };
35 va_list args;
36
37 va_start(args, fmt);
38 vaf.va = &args;
39
40 if (print)
41 pr_debug("%pV", &vaf);
42 trace_mac80211_dbg(vaf: &vaf);
43 va_end(args);
44}
45
46void __sdata_err(const char *fmt, ...)
47{
48 struct va_format vaf = {
49 .fmt = fmt,
50 };
51 va_list args;
52
53 va_start(args, fmt);
54 vaf.va = &args;
55
56 pr_err("%pV", &vaf);
57 trace_mac80211_err(vaf: &vaf);
58 va_end(args);
59}
60
61void __wiphy_dbg(struct wiphy *wiphy, bool print, const char *fmt, ...)
62{
63 struct va_format vaf = {
64 .fmt = fmt,
65 };
66 va_list args;
67
68 va_start(args, fmt);
69 vaf.va = &args;
70
71 if (print)
72 wiphy_dbg(wiphy, "%pV", &vaf);
73 trace_mac80211_dbg(vaf: &vaf);
74 va_end(args);
75}
76#endif
77#endif
78

source code of linux/net/mac80211/trace.c