1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __MAC80211_DEBUG_H 3 #define __MAC80211_DEBUG_H 4 #include <net/cfg80211.h> 5 6 #ifdef CONFIG_MAC80211_OCB_DEBUG 7 #define MAC80211_OCB_DEBUG 1 8 #else 9 #define MAC80211_OCB_DEBUG 0 10 #endif 11 12 #ifdef CONFIG_MAC80211_IBSS_DEBUG 13 #define MAC80211_IBSS_DEBUG 1 14 #else 15 #define MAC80211_IBSS_DEBUG 0 16 #endif 17 18 #ifdef CONFIG_MAC80211_PS_DEBUG 19 #define MAC80211_PS_DEBUG 1 20 #else 21 #define MAC80211_PS_DEBUG 0 22 #endif 23 24 #ifdef CONFIG_MAC80211_HT_DEBUG 25 #define MAC80211_HT_DEBUG 1 26 #else 27 #define MAC80211_HT_DEBUG 0 28 #endif 29 30 #ifdef CONFIG_MAC80211_MPL_DEBUG 31 #define MAC80211_MPL_DEBUG 1 32 #else 33 #define MAC80211_MPL_DEBUG 0 34 #endif 35 36 #ifdef CONFIG_MAC80211_MPATH_DEBUG 37 #define MAC80211_MPATH_DEBUG 1 38 #else 39 #define MAC80211_MPATH_DEBUG 0 40 #endif 41 42 #ifdef CONFIG_MAC80211_MHWMP_DEBUG 43 #define MAC80211_MHWMP_DEBUG 1 44 #else 45 #define MAC80211_MHWMP_DEBUG 0 46 #endif 47 48 #ifdef CONFIG_MAC80211_MESH_SYNC_DEBUG 49 #define MAC80211_MESH_SYNC_DEBUG 1 50 #else 51 #define MAC80211_MESH_SYNC_DEBUG 0 52 #endif 53 54 #ifdef CONFIG_MAC80211_MESH_CSA_DEBUG 55 #define MAC80211_MESH_CSA_DEBUG 1 56 #else 57 #define MAC80211_MESH_CSA_DEBUG 0 58 #endif 59 60 #ifdef CONFIG_MAC80211_MESH_PS_DEBUG 61 #define MAC80211_MESH_PS_DEBUG 1 62 #else 63 #define MAC80211_MESH_PS_DEBUG 0 64 #endif 65 66 #ifdef CONFIG_MAC80211_TDLS_DEBUG 67 #define MAC80211_TDLS_DEBUG 1 68 #else 69 #define MAC80211_TDLS_DEBUG 0 70 #endif 71 72 #ifdef CONFIG_MAC80211_STA_DEBUG 73 #define MAC80211_STA_DEBUG 1 74 #else 75 #define MAC80211_STA_DEBUG 0 76 #endif 77 78 #ifdef CONFIG_MAC80211_MLME_DEBUG 79 #define MAC80211_MLME_DEBUG 1 80 #else 81 #define MAC80211_MLME_DEBUG 0 82 #endif 83 84 #ifdef CONFIG_MAC80211_MESSAGE_TRACING 85 void __sdata_info(const char *fmt, ...) __printf(1, 2); 86 void __sdata_dbg(bool print, const char *fmt, ...) __printf(2, 3); 87 void __sdata_err(const char *fmt, ...) __printf(1, 2); 88 void __wiphy_dbg(struct wiphy *wiphy, bool print, const char *fmt, ...) 89 __printf(3, 4); 90 91 #define _sdata_info(sdata, fmt, ...) \ 92 __sdata_info("%s: " fmt, (sdata)->name, ##__VA_ARGS__) 93 #define _sdata_dbg(print, sdata, fmt, ...) \ 94 __sdata_dbg(print, "%s: " fmt, (sdata)->name, ##__VA_ARGS__) 95 #define _sdata_err(sdata, fmt, ...) \ 96 __sdata_err("%s: " fmt, (sdata)->name, ##__VA_ARGS__) 97 #define _wiphy_dbg(print, wiphy, fmt, ...) \ 98 __wiphy_dbg(wiphy, print, fmt, ##__VA_ARGS__) 99 #else 100 #define _sdata_info(sdata, fmt, ...) \ 101 do { \ 102 pr_info("%s: " fmt, \ 103 (sdata)->name, ##__VA_ARGS__); \ 104 } while (0) 105 106 #define _sdata_dbg(print, sdata, fmt, ...) \ 107 do { \ 108 if (print) \ 109 pr_debug("%s: " fmt, \ 110 (sdata)->name, ##__VA_ARGS__); \ 111 } while (0) 112 113 #define _sdata_err(sdata, fmt, ...) \ 114 do { \ 115 pr_err("%s: " fmt, \ 116 (sdata)->name, ##__VA_ARGS__); \ 117 } while (0) 118 119 #define _wiphy_dbg(print, wiphy, fmt, ...) \ 120 do { \ 121 if (print) \ 122 wiphy_dbg((wiphy), fmt, ##__VA_ARGS__); \ 123 } while (0) 124 #endif 125 126 #define sdata_info(sdata, fmt, ...) \ 127 _sdata_info(sdata, fmt, ##__VA_ARGS__) 128 #define sdata_err(sdata, fmt, ...) \ 129 _sdata_err(sdata, fmt, ##__VA_ARGS__) 130 #define sdata_dbg(sdata, fmt, ...) \ 131 _sdata_dbg(1, sdata, fmt, ##__VA_ARGS__) 132 133 #define ht_dbg(sdata, fmt, ...) \ 134 _sdata_dbg(MAC80211_HT_DEBUG, \ 135 sdata, fmt, ##__VA_ARGS__) 136 137 #define ht_dbg_ratelimited(sdata, fmt, ...) \ 138 _sdata_dbg(MAC80211_HT_DEBUG && net_ratelimit(), \ 139 sdata, fmt, ##__VA_ARGS__) 140 141 #define ocb_dbg(sdata, fmt, ...) \ 142 _sdata_dbg(MAC80211_OCB_DEBUG, \ 143 sdata, fmt, ##__VA_ARGS__) 144 145 #define ibss_dbg(sdata, fmt, ...) \ 146 _sdata_dbg(MAC80211_IBSS_DEBUG, \ 147 sdata, fmt, ##__VA_ARGS__) 148 149 #define ps_dbg(sdata, fmt, ...) \ 150 _sdata_dbg(MAC80211_PS_DEBUG, \ 151 sdata, fmt, ##__VA_ARGS__) 152 153 #define ps_dbg_hw(hw, fmt, ...) \ 154 _wiphy_dbg(MAC80211_PS_DEBUG, \ 155 (hw)->wiphy, fmt, ##__VA_ARGS__) 156 157 #define ps_dbg_ratelimited(sdata, fmt, ...) \ 158 _sdata_dbg(MAC80211_PS_DEBUG && net_ratelimit(), \ 159 sdata, fmt, ##__VA_ARGS__) 160 161 #define mpl_dbg(sdata, fmt, ...) \ 162 _sdata_dbg(MAC80211_MPL_DEBUG, \ 163 sdata, fmt, ##__VA_ARGS__) 164 165 #define mpath_dbg(sdata, fmt, ...) \ 166 _sdata_dbg(MAC80211_MPATH_DEBUG, \ 167 sdata, fmt, ##__VA_ARGS__) 168 169 #define mhwmp_dbg(sdata, fmt, ...) \ 170 _sdata_dbg(MAC80211_MHWMP_DEBUG, \ 171 sdata, fmt, ##__VA_ARGS__) 172 173 #define msync_dbg(sdata, fmt, ...) \ 174 _sdata_dbg(MAC80211_MESH_SYNC_DEBUG, \ 175 sdata, fmt, ##__VA_ARGS__) 176 177 #define mcsa_dbg(sdata, fmt, ...) \ 178 _sdata_dbg(MAC80211_MESH_CSA_DEBUG, \ 179 sdata, fmt, ##__VA_ARGS__) 180 181 #define mps_dbg(sdata, fmt, ...) \ 182 _sdata_dbg(MAC80211_MESH_PS_DEBUG, \ 183 sdata, fmt, ##__VA_ARGS__) 184 185 #define tdls_dbg(sdata, fmt, ...) \ 186 _sdata_dbg(MAC80211_TDLS_DEBUG, \ 187 sdata, fmt, ##__VA_ARGS__) 188 189 #define sta_dbg(sdata, fmt, ...) \ 190 _sdata_dbg(MAC80211_STA_DEBUG, \ 191 sdata, fmt, ##__VA_ARGS__) 192 193 #define mlme_dbg(sdata, fmt, ...) \ 194 _sdata_dbg(MAC80211_MLME_DEBUG, \ 195 sdata, fmt, ##__VA_ARGS__) 196 197 #define mlme_dbg_ratelimited(sdata, fmt, ...) \ 198 _sdata_dbg(MAC80211_MLME_DEBUG && net_ratelimit(), \ 199 sdata, fmt, ##__VA_ARGS__) 200 201 #endif /* __MAC80211_DEBUG_H */ 202