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