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 |
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: &vaf); |
27 | va_end(args); |
28 | } |
29 | |
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: &vaf); |
43 | va_end(args); |
44 | } |
45 | |
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: &vaf); |
58 | va_end(args); |
59 | } |
60 | |
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: &vaf); |
74 | va_end(args); |
75 | } |
76 | #endif |
77 | #endif |
78 | |