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); 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); 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); 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); 74 va_end(args); 75 } 76 #endif 77 #endif 78