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