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