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
__sdata_info(const char * fmt,...)15 void __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);
27 va_end(args);
28 }
29
__sdata_dbg(bool print,const char * fmt,...)30 void __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);
43 va_end(args);
44 }
45
__sdata_err(const char * fmt,...)46 void __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);
58 va_end(args);
59 }
60
__wiphy_dbg(struct wiphy * wiphy,bool print,const char * fmt,...)61 void __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);
74 va_end(args);
75 }
76 #endif
77 #endif
78