diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath.h')
-rw-r--r-- | drivers/net/wireless/ath/ath.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h index 501050c0296f..e43210c8585c 100644 --- a/drivers/net/wireless/ath/ath.h +++ b/drivers/net/wireless/ath/ath.h | |||
@@ -126,6 +126,7 @@ struct ath_bus_ops { | |||
126 | void (*read_cachesize)(struct ath_common *common, int *csz); | 126 | void (*read_cachesize)(struct ath_common *common, int *csz); |
127 | bool (*eeprom_read)(struct ath_common *common, u32 off, u16 *data); | 127 | bool (*eeprom_read)(struct ath_common *common, u32 off, u16 *data); |
128 | void (*bt_coex_prep)(struct ath_common *common); | 128 | void (*bt_coex_prep)(struct ath_common *common); |
129 | void (*extn_synch_en)(struct ath_common *common); | ||
129 | }; | 130 | }; |
130 | 131 | ||
131 | struct ath_common { | 132 | struct ath_common { |
@@ -162,6 +163,8 @@ struct ath_common { | |||
162 | struct ath_regulatory regulatory; | 163 | struct ath_regulatory regulatory; |
163 | const struct ath_ops *ops; | 164 | const struct ath_ops *ops; |
164 | const struct ath_bus_ops *bus_ops; | 165 | const struct ath_bus_ops *bus_ops; |
166 | |||
167 | bool btcoex_enabled; | ||
165 | }; | 168 | }; |
166 | 169 | ||
167 | struct sk_buff *ath_rxbuf_alloc(struct ath_common *common, | 170 | struct sk_buff *ath_rxbuf_alloc(struct ath_common *common, |
@@ -178,4 +181,112 @@ bool ath_hw_keyreset(struct ath_common *common, u16 entry); | |||
178 | void ath_hw_cycle_counters_update(struct ath_common *common); | 181 | void ath_hw_cycle_counters_update(struct ath_common *common); |
179 | int32_t ath_hw_get_listen_time(struct ath_common *common); | 182 | int32_t ath_hw_get_listen_time(struct ath_common *common); |
180 | 183 | ||
184 | extern __attribute__ ((format (printf, 3, 4))) int | ||
185 | ath_printk(const char *level, struct ath_common *common, const char *fmt, ...); | ||
186 | |||
187 | #define ath_emerg(common, fmt, ...) \ | ||
188 | ath_printk(KERN_EMERG, common, fmt, ##__VA_ARGS__) | ||
189 | #define ath_alert(common, fmt, ...) \ | ||
190 | ath_printk(KERN_ALERT, common, fmt, ##__VA_ARGS__) | ||
191 | #define ath_crit(common, fmt, ...) \ | ||
192 | ath_printk(KERN_CRIT, common, fmt, ##__VA_ARGS__) | ||
193 | #define ath_err(common, fmt, ...) \ | ||
194 | ath_printk(KERN_ERR, common, fmt, ##__VA_ARGS__) | ||
195 | #define ath_warn(common, fmt, ...) \ | ||
196 | ath_printk(KERN_WARNING, common, fmt, ##__VA_ARGS__) | ||
197 | #define ath_notice(common, fmt, ...) \ | ||
198 | ath_printk(KERN_NOTICE, common, fmt, ##__VA_ARGS__) | ||
199 | #define ath_info(common, fmt, ...) \ | ||
200 | ath_printk(KERN_INFO, common, fmt, ##__VA_ARGS__) | ||
201 | |||
202 | /** | ||
203 | * enum ath_debug_level - atheros wireless debug level | ||
204 | * | ||
205 | * @ATH_DBG_RESET: reset processing | ||
206 | * @ATH_DBG_QUEUE: hardware queue management | ||
207 | * @ATH_DBG_EEPROM: eeprom processing | ||
208 | * @ATH_DBG_CALIBRATE: periodic calibration | ||
209 | * @ATH_DBG_INTERRUPT: interrupt processing | ||
210 | * @ATH_DBG_REGULATORY: regulatory processing | ||
211 | * @ATH_DBG_ANI: adaptive noise immunitive processing | ||
212 | * @ATH_DBG_XMIT: basic xmit operation | ||
213 | * @ATH_DBG_BEACON: beacon handling | ||
214 | * @ATH_DBG_CONFIG: configuration of the hardware | ||
215 | * @ATH_DBG_FATAL: fatal errors, this is the default, DBG_DEFAULT | ||
216 | * @ATH_DBG_PS: power save processing | ||
217 | * @ATH_DBG_HWTIMER: hardware timer handling | ||
218 | * @ATH_DBG_BTCOEX: bluetooth coexistance | ||
219 | * @ATH_DBG_BSTUCK: stuck beacons | ||
220 | * @ATH_DBG_ANY: enable all debugging | ||
221 | * | ||
222 | * The debug level is used to control the amount and type of debugging output | ||
223 | * we want to see. Each driver has its own method for enabling debugging and | ||
224 | * modifying debug level states -- but this is typically done through a | ||
225 | * module parameter 'debug' along with a respective 'debug' debugfs file | ||
226 | * entry. | ||
227 | */ | ||
228 | enum ATH_DEBUG { | ||
229 | ATH_DBG_RESET = 0x00000001, | ||
230 | ATH_DBG_QUEUE = 0x00000002, | ||
231 | ATH_DBG_EEPROM = 0x00000004, | ||
232 | ATH_DBG_CALIBRATE = 0x00000008, | ||
233 | ATH_DBG_INTERRUPT = 0x00000010, | ||
234 | ATH_DBG_REGULATORY = 0x00000020, | ||
235 | ATH_DBG_ANI = 0x00000040, | ||
236 | ATH_DBG_XMIT = 0x00000080, | ||
237 | ATH_DBG_BEACON = 0x00000100, | ||
238 | ATH_DBG_CONFIG = 0x00000200, | ||
239 | ATH_DBG_FATAL = 0x00000400, | ||
240 | ATH_DBG_PS = 0x00000800, | ||
241 | ATH_DBG_HWTIMER = 0x00001000, | ||
242 | ATH_DBG_BTCOEX = 0x00002000, | ||
243 | ATH_DBG_WMI = 0x00004000, | ||
244 | ATH_DBG_BSTUCK = 0x00008000, | ||
245 | ATH_DBG_ANY = 0xffffffff | ||
246 | }; | ||
247 | |||
248 | #define ATH_DBG_DEFAULT (ATH_DBG_FATAL) | ||
249 | |||
250 | #ifdef CONFIG_ATH_DEBUG | ||
251 | |||
252 | #define ath_dbg(common, dbg_mask, fmt, ...) \ | ||
253 | ({ \ | ||
254 | int rtn; \ | ||
255 | if ((common)->debug_mask & dbg_mask) \ | ||
256 | rtn = ath_printk(KERN_DEBUG, common, fmt, \ | ||
257 | ##__VA_ARGS__); \ | ||
258 | else \ | ||
259 | rtn = 0; \ | ||
260 | \ | ||
261 | rtn; \ | ||
262 | }) | ||
263 | #define ATH_DBG_WARN(foo, arg...) WARN(foo, arg) | ||
264 | #define ATH_DBG_WARN_ON_ONCE(foo) WARN_ON_ONCE(foo) | ||
265 | |||
266 | #else | ||
267 | |||
268 | static inline __attribute__ ((format (printf, 3, 4))) int | ||
269 | ath_dbg(struct ath_common *common, enum ATH_DEBUG dbg_mask, | ||
270 | const char *fmt, ...) | ||
271 | { | ||
272 | return 0; | ||
273 | } | ||
274 | #define ATH_DBG_WARN(foo, arg...) do {} while (0) | ||
275 | #define ATH_DBG_WARN_ON_ONCE(foo) ({ \ | ||
276 | int __ret_warn_once = !!(foo); \ | ||
277 | unlikely(__ret_warn_once); \ | ||
278 | }) | ||
279 | |||
280 | #endif /* CONFIG_ATH_DEBUG */ | ||
281 | |||
282 | /** Returns string describing opmode, or NULL if unknown mode. */ | ||
283 | #ifdef CONFIG_ATH_DEBUG | ||
284 | const char *ath_opmode_to_string(enum nl80211_iftype opmode); | ||
285 | #else | ||
286 | static inline const char *ath_opmode_to_string(enum nl80211_iftype opmode) | ||
287 | { | ||
288 | return "UNKNOWN"; | ||
289 | } | ||
290 | #endif | ||
291 | |||
181 | #endif /* ATH_H */ | 292 | #endif /* ATH_H */ |