1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __MAC80211_DEBUG_H
3 #define __MAC80211_DEBUG_H
4 #include <net/cfg80211.h>
6 #ifdef CONFIG_MAC80211_OCB_DEBUG
7 #define MAC80211_OCB_DEBUG 1
9 #define MAC80211_OCB_DEBUG 0
12 #ifdef CONFIG_MAC80211_IBSS_DEBUG
13 #define MAC80211_IBSS_DEBUG 1
15 #define MAC80211_IBSS_DEBUG 0
18 #ifdef CONFIG_MAC80211_PS_DEBUG
19 #define MAC80211_PS_DEBUG 1
21 #define MAC80211_PS_DEBUG 0
24 #ifdef CONFIG_MAC80211_HT_DEBUG
25 #define MAC80211_HT_DEBUG 1
27 #define MAC80211_HT_DEBUG 0
30 #ifdef CONFIG_MAC80211_MPL_DEBUG
31 #define MAC80211_MPL_DEBUG 1
33 #define MAC80211_MPL_DEBUG 0
36 #ifdef CONFIG_MAC80211_MPATH_DEBUG
37 #define MAC80211_MPATH_DEBUG 1
39 #define MAC80211_MPATH_DEBUG 0
42 #ifdef CONFIG_MAC80211_MHWMP_DEBUG
43 #define MAC80211_MHWMP_DEBUG 1
45 #define MAC80211_MHWMP_DEBUG 0
48 #ifdef CONFIG_MAC80211_MESH_SYNC_DEBUG
49 #define MAC80211_MESH_SYNC_DEBUG 1
51 #define MAC80211_MESH_SYNC_DEBUG 0
54 #ifdef CONFIG_MAC80211_MESH_CSA_DEBUG
55 #define MAC80211_MESH_CSA_DEBUG 1
57 #define MAC80211_MESH_CSA_DEBUG 0
60 #ifdef CONFIG_MAC80211_MESH_PS_DEBUG
61 #define MAC80211_MESH_PS_DEBUG 1
63 #define MAC80211_MESH_PS_DEBUG 0
66 #ifdef CONFIG_MAC80211_TDLS_DEBUG
67 #define MAC80211_TDLS_DEBUG 1
69 #define MAC80211_TDLS_DEBUG 0
72 #ifdef CONFIG_MAC80211_STA_DEBUG
73 #define MAC80211_STA_DEBUG 1
75 #define MAC80211_STA_DEBUG 0
78 #ifdef CONFIG_MAC80211_MLME_DEBUG
79 #define MAC80211_MLME_DEBUG 1
81 #define MAC80211_MLME_DEBUG 0
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
, ...)
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__)
100 #define _sdata_info(sdata, fmt, ...) \
102 pr_info("%s: " fmt, \
103 (sdata)->name, ##__VA_ARGS__); \
106 #define _sdata_dbg(print, sdata, fmt, ...) \
109 pr_debug("%s: " fmt, \
110 (sdata)->name, ##__VA_ARGS__); \
113 #define _sdata_err(sdata, fmt, ...) \
116 (sdata)->name, ##__VA_ARGS__); \
119 #define _wiphy_dbg(print, wiphy, fmt, ...) \
122 wiphy_dbg((wiphy), fmt, ##__VA_ARGS__); \
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__)
133 #define ht_dbg(sdata, fmt, ...) \
134 _sdata_dbg(MAC80211_HT_DEBUG, \
135 sdata, fmt, ##__VA_ARGS__)
137 #define ht_dbg_ratelimited(sdata, fmt, ...) \
138 _sdata_dbg(MAC80211_HT_DEBUG && net_ratelimit(), \
139 sdata, fmt, ##__VA_ARGS__)
141 #define ocb_dbg(sdata, fmt, ...) \
142 _sdata_dbg(MAC80211_OCB_DEBUG, \
143 sdata, fmt, ##__VA_ARGS__)
145 #define ibss_dbg(sdata, fmt, ...) \
146 _sdata_dbg(MAC80211_IBSS_DEBUG, \
147 sdata, fmt, ##__VA_ARGS__)
149 #define ps_dbg(sdata, fmt, ...) \
150 _sdata_dbg(MAC80211_PS_DEBUG, \
151 sdata, fmt, ##__VA_ARGS__)
153 #define ps_dbg_hw(hw, fmt, ...) \
154 _wiphy_dbg(MAC80211_PS_DEBUG, \
155 (hw)->wiphy, fmt, ##__VA_ARGS__)
157 #define ps_dbg_ratelimited(sdata, fmt, ...) \
158 _sdata_dbg(MAC80211_PS_DEBUG && net_ratelimit(), \
159 sdata, fmt, ##__VA_ARGS__)
161 #define mpl_dbg(sdata, fmt, ...) \
162 _sdata_dbg(MAC80211_MPL_DEBUG, \
163 sdata, fmt, ##__VA_ARGS__)
165 #define mpath_dbg(sdata, fmt, ...) \
166 _sdata_dbg(MAC80211_MPATH_DEBUG, \
167 sdata, fmt, ##__VA_ARGS__)
169 #define mhwmp_dbg(sdata, fmt, ...) \
170 _sdata_dbg(MAC80211_MHWMP_DEBUG, \
171 sdata, fmt, ##__VA_ARGS__)
173 #define msync_dbg(sdata, fmt, ...) \
174 _sdata_dbg(MAC80211_MESH_SYNC_DEBUG, \
175 sdata, fmt, ##__VA_ARGS__)
177 #define mcsa_dbg(sdata, fmt, ...) \
178 _sdata_dbg(MAC80211_MESH_CSA_DEBUG, \
179 sdata, fmt, ##__VA_ARGS__)
181 #define mps_dbg(sdata, fmt, ...) \
182 _sdata_dbg(MAC80211_MESH_PS_DEBUG, \
183 sdata, fmt, ##__VA_ARGS__)
185 #define tdls_dbg(sdata, fmt, ...) \
186 _sdata_dbg(MAC80211_TDLS_DEBUG, \
187 sdata, fmt, ##__VA_ARGS__)
189 #define sta_dbg(sdata, fmt, ...) \
190 _sdata_dbg(MAC80211_STA_DEBUG, \
191 sdata, fmt, ##__VA_ARGS__)
193 #define mlme_dbg(sdata, fmt, ...) \
194 _sdata_dbg(MAC80211_MLME_DEBUG, \
195 sdata, fmt, ##__VA_ARGS__)
197 #define mlme_dbg_ratelimited(sdata, fmt, ...) \
198 _sdata_dbg(MAC80211_MLME_DEBUG && net_ratelimit(), \
199 sdata, fmt, ##__VA_ARGS__)
201 #endif /* __MAC80211_DEBUG_H */