drm/tests: hdmi: Fix memory leaks in drm_display_mode_from_cea_vic()
[drm/drm-misc.git] / net / mac80211 / debug.h
blob35a8ba25fa57fdb70f111c7d80ac13df7a2a8c9b
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * Portions
4 * Copyright (C) 2022 - 2023 Intel Corporation
5 */
6 #ifndef __MAC80211_DEBUG_H
7 #define __MAC80211_DEBUG_H
8 #include <net/cfg80211.h>
10 #ifdef CONFIG_MAC80211_OCB_DEBUG
11 #define MAC80211_OCB_DEBUG 1
12 #else
13 #define MAC80211_OCB_DEBUG 0
14 #endif
16 #ifdef CONFIG_MAC80211_IBSS_DEBUG
17 #define MAC80211_IBSS_DEBUG 1
18 #else
19 #define MAC80211_IBSS_DEBUG 0
20 #endif
22 #ifdef CONFIG_MAC80211_PS_DEBUG
23 #define MAC80211_PS_DEBUG 1
24 #else
25 #define MAC80211_PS_DEBUG 0
26 #endif
28 #ifdef CONFIG_MAC80211_HT_DEBUG
29 #define MAC80211_HT_DEBUG 1
30 #else
31 #define MAC80211_HT_DEBUG 0
32 #endif
34 #ifdef CONFIG_MAC80211_MPL_DEBUG
35 #define MAC80211_MPL_DEBUG 1
36 #else
37 #define MAC80211_MPL_DEBUG 0
38 #endif
40 #ifdef CONFIG_MAC80211_MPATH_DEBUG
41 #define MAC80211_MPATH_DEBUG 1
42 #else
43 #define MAC80211_MPATH_DEBUG 0
44 #endif
46 #ifdef CONFIG_MAC80211_MHWMP_DEBUG
47 #define MAC80211_MHWMP_DEBUG 1
48 #else
49 #define MAC80211_MHWMP_DEBUG 0
50 #endif
52 #ifdef CONFIG_MAC80211_MESH_SYNC_DEBUG
53 #define MAC80211_MESH_SYNC_DEBUG 1
54 #else
55 #define MAC80211_MESH_SYNC_DEBUG 0
56 #endif
58 #ifdef CONFIG_MAC80211_MESH_CSA_DEBUG
59 #define MAC80211_MESH_CSA_DEBUG 1
60 #else
61 #define MAC80211_MESH_CSA_DEBUG 0
62 #endif
64 #ifdef CONFIG_MAC80211_MESH_PS_DEBUG
65 #define MAC80211_MESH_PS_DEBUG 1
66 #else
67 #define MAC80211_MESH_PS_DEBUG 0
68 #endif
70 #ifdef CONFIG_MAC80211_TDLS_DEBUG
71 #define MAC80211_TDLS_DEBUG 1
72 #else
73 #define MAC80211_TDLS_DEBUG 0
74 #endif
76 #ifdef CONFIG_MAC80211_STA_DEBUG
77 #define MAC80211_STA_DEBUG 1
78 #else
79 #define MAC80211_STA_DEBUG 0
80 #endif
82 #ifdef CONFIG_MAC80211_MLME_DEBUG
83 #define MAC80211_MLME_DEBUG 1
84 #else
85 #define MAC80211_MLME_DEBUG 0
86 #endif
88 #ifdef CONFIG_MAC80211_MESSAGE_TRACING
89 void __sdata_info(const char *fmt, ...) __printf(1, 2);
90 void __sdata_dbg(bool print, const char *fmt, ...) __printf(2, 3);
91 void __sdata_err(const char *fmt, ...) __printf(1, 2);
92 void __wiphy_dbg(struct wiphy *wiphy, bool print, const char *fmt, ...)
93 __printf(3, 4);
95 #define _sdata_info(sdata, fmt, ...) \
96 __sdata_info("%s: " fmt, (sdata)->name, ##__VA_ARGS__)
97 #define _sdata_dbg(print, sdata, fmt, ...) \
98 __sdata_dbg(print, "%s: " fmt, (sdata)->name, ##__VA_ARGS__)
99 #define _sdata_err(sdata, fmt, ...) \
100 __sdata_err("%s: " fmt, (sdata)->name, ##__VA_ARGS__)
101 #define _wiphy_dbg(print, wiphy, fmt, ...) \
102 __wiphy_dbg(wiphy, print, fmt, ##__VA_ARGS__)
103 #else
104 #define _sdata_info(sdata, fmt, ...) \
105 do { \
106 pr_info("%s: " fmt, \
107 (sdata)->name, ##__VA_ARGS__); \
108 } while (0)
110 #define _sdata_dbg(print, sdata, fmt, ...) \
111 do { \
112 if (print) \
113 pr_debug("%s: " fmt, \
114 (sdata)->name, ##__VA_ARGS__); \
115 } while (0)
117 #define _sdata_err(sdata, fmt, ...) \
118 do { \
119 pr_err("%s: " fmt, \
120 (sdata)->name, ##__VA_ARGS__); \
121 } while (0)
123 #define _wiphy_dbg(print, wiphy, fmt, ...) \
124 do { \
125 if (print) \
126 wiphy_dbg((wiphy), fmt, ##__VA_ARGS__); \
127 } while (0)
128 #endif
130 #define sdata_info(sdata, fmt, ...) \
131 _sdata_info(sdata, fmt, ##__VA_ARGS__)
132 #define sdata_err(sdata, fmt, ...) \
133 _sdata_err(sdata, fmt, ##__VA_ARGS__)
134 #define sdata_dbg(sdata, fmt, ...) \
135 _sdata_dbg(1, sdata, fmt, ##__VA_ARGS__)
137 #define link_info(link, fmt, ...) \
138 do { \
139 if (ieee80211_vif_is_mld(&(link)->sdata->vif)) \
140 _sdata_info((link)->sdata, "[link %d] " fmt, \
141 (link)->link_id, \
142 ##__VA_ARGS__); \
143 else \
144 _sdata_info((link)->sdata, fmt, ##__VA_ARGS__); \
145 } while (0)
146 #define link_err(link, fmt, ...) \
147 do { \
148 if (ieee80211_vif_is_mld(&(link)->sdata->vif)) \
149 _sdata_err((link)->sdata, "[link %d] " fmt, \
150 (link)->link_id, \
151 ##__VA_ARGS__); \
152 else \
153 _sdata_err((link)->sdata, fmt, ##__VA_ARGS__); \
154 } while (0)
155 #define _link_id_dbg(print, sdata, link_id, fmt, ...) \
156 do { \
157 if (ieee80211_vif_is_mld(&(sdata)->vif)) \
158 _sdata_dbg(print, sdata, "[link %d] " fmt, \
159 link_id, ##__VA_ARGS__); \
160 else \
161 _sdata_dbg(print, sdata, fmt, ##__VA_ARGS__); \
162 } while (0)
163 #define link_dbg(link, fmt, ...) \
164 _link_id_dbg(1, (link)->sdata, (link)->link_id, \
165 fmt, ##__VA_ARGS__)
167 #define ht_dbg(sdata, fmt, ...) \
168 _sdata_dbg(MAC80211_HT_DEBUG, \
169 sdata, fmt, ##__VA_ARGS__)
171 #define ht_dbg_ratelimited(sdata, fmt, ...) \
172 _sdata_dbg(MAC80211_HT_DEBUG && net_ratelimit(), \
173 sdata, fmt, ##__VA_ARGS__)
175 #define ocb_dbg(sdata, fmt, ...) \
176 _sdata_dbg(MAC80211_OCB_DEBUG, \
177 sdata, fmt, ##__VA_ARGS__)
179 #define ibss_dbg(sdata, fmt, ...) \
180 _sdata_dbg(MAC80211_IBSS_DEBUG, \
181 sdata, fmt, ##__VA_ARGS__)
183 #define ps_dbg(sdata, fmt, ...) \
184 _sdata_dbg(MAC80211_PS_DEBUG, \
185 sdata, fmt, ##__VA_ARGS__)
187 #define ps_dbg_hw(hw, fmt, ...) \
188 _wiphy_dbg(MAC80211_PS_DEBUG, \
189 (hw)->wiphy, fmt, ##__VA_ARGS__)
191 #define ps_dbg_ratelimited(sdata, fmt, ...) \
192 _sdata_dbg(MAC80211_PS_DEBUG && net_ratelimit(), \
193 sdata, fmt, ##__VA_ARGS__)
195 #define mpl_dbg(sdata, fmt, ...) \
196 _sdata_dbg(MAC80211_MPL_DEBUG, \
197 sdata, fmt, ##__VA_ARGS__)
199 #define mpath_dbg(sdata, fmt, ...) \
200 _sdata_dbg(MAC80211_MPATH_DEBUG, \
201 sdata, fmt, ##__VA_ARGS__)
203 #define mhwmp_dbg(sdata, fmt, ...) \
204 _sdata_dbg(MAC80211_MHWMP_DEBUG, \
205 sdata, fmt, ##__VA_ARGS__)
207 #define msync_dbg(sdata, fmt, ...) \
208 _sdata_dbg(MAC80211_MESH_SYNC_DEBUG, \
209 sdata, fmt, ##__VA_ARGS__)
211 #define mcsa_dbg(sdata, fmt, ...) \
212 _sdata_dbg(MAC80211_MESH_CSA_DEBUG, \
213 sdata, fmt, ##__VA_ARGS__)
215 #define mps_dbg(sdata, fmt, ...) \
216 _sdata_dbg(MAC80211_MESH_PS_DEBUG, \
217 sdata, fmt, ##__VA_ARGS__)
219 #define tdls_dbg(sdata, fmt, ...) \
220 _sdata_dbg(MAC80211_TDLS_DEBUG, \
221 sdata, fmt, ##__VA_ARGS__)
223 #define sta_dbg(sdata, fmt, ...) \
224 _sdata_dbg(MAC80211_STA_DEBUG, \
225 sdata, fmt, ##__VA_ARGS__)
227 #define mlme_dbg(sdata, fmt, ...) \
228 _sdata_dbg(MAC80211_MLME_DEBUG, \
229 sdata, fmt, ##__VA_ARGS__)
230 #define mlme_link_id_dbg(sdata, link_id, fmt, ...) \
231 _link_id_dbg(MAC80211_MLME_DEBUG, sdata, link_id, \
232 fmt, ##__VA_ARGS__)
234 #define mlme_dbg_ratelimited(sdata, fmt, ...) \
235 _sdata_dbg(MAC80211_MLME_DEBUG && net_ratelimit(), \
236 sdata, fmt, ##__VA_ARGS__)
238 #endif /* __MAC80211_DEBUG_H */