Commit | Line | Data |
---|---|---|
c46917bb LR |
1 | /* |
2 | * Copyright (c) 2008-2009 Atheros Communications Inc. | |
3 | * | |
4 | * Permission to use, copy, modify, and/or distribute this software for any | |
5 | * purpose with or without fee is hereby granted, provided that the above | |
6 | * copyright notice and this permission notice appear in all copies. | |
7 | * | |
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
15 | */ | |
16 | ||
17 | #ifndef ATH_DEBUG_H | |
18 | #define ATH_DEBUG_H | |
19 | ||
20 | #include "ath.h" | |
21 | ||
22 | /** | |
23 | * enum ath_debug_level - atheros wireless debug level | |
24 | * | |
25 | * @ATH_DBG_RESET: reset processing | |
26 | * @ATH_DBG_QUEUE: hardware queue management | |
27 | * @ATH_DBG_EEPROM: eeprom processing | |
28 | * @ATH_DBG_CALIBRATE: periodic calibration | |
29 | * @ATH_DBG_INTERRUPT: interrupt processing | |
30 | * @ATH_DBG_REGULATORY: regulatory processing | |
31 | * @ATH_DBG_ANI: adaptive noise immunitive processing | |
32 | * @ATH_DBG_XMIT: basic xmit operation | |
33 | * @ATH_DBG_BEACON: beacon handling | |
34 | * @ATH_DBG_CONFIG: configuration of the hardware | |
35 | * @ATH_DBG_FATAL: fatal errors, this is the default, DBG_DEFAULT | |
36 | * @ATH_DBG_PS: power save processing | |
37 | * @ATH_DBG_HWTIMER: hardware timer handling | |
38 | * @ATH_DBG_BTCOEX: bluetooth coexistance | |
39 | * @ATH_DBG_ANY: enable all debugging | |
40 | * | |
41 | * The debug level is used to control the amount and type of debugging output | |
42 | * we want to see. Each driver has its own method for enabling debugging and | |
43 | * modifying debug level states -- but this is typically done through a | |
44 | * module parameter 'debug' along with a respective 'debug' debugfs file | |
45 | * entry. | |
46 | */ | |
47 | enum ATH_DEBUG { | |
48 | ATH_DBG_RESET = 0x00000001, | |
49 | ATH_DBG_QUEUE = 0x00000002, | |
50 | ATH_DBG_EEPROM = 0x00000004, | |
51 | ATH_DBG_CALIBRATE = 0x00000008, | |
52 | ATH_DBG_INTERRUPT = 0x00000010, | |
53 | ATH_DBG_REGULATORY = 0x00000020, | |
54 | ATH_DBG_ANI = 0x00000040, | |
55 | ATH_DBG_XMIT = 0x00000080, | |
56 | ATH_DBG_BEACON = 0x00000100, | |
57 | ATH_DBG_CONFIG = 0x00000200, | |
58 | ATH_DBG_FATAL = 0x00000400, | |
59 | ATH_DBG_PS = 0x00000800, | |
60 | ATH_DBG_HWTIMER = 0x00001000, | |
61 | ATH_DBG_BTCOEX = 0x00002000, | |
fb9987d0 | 62 | ATH_DBG_WMI = 0x00004000, |
c46917bb LR |
63 | ATH_DBG_ANY = 0xffffffff |
64 | }; | |
65 | ||
66 | #define ATH_DBG_DEFAULT (ATH_DBG_FATAL) | |
67 | ||
68 | #ifdef CONFIG_ATH_DEBUG | |
f643e51d PR |
69 | void ath_print(struct ath_common *common, int dbg_mask, const char *fmt, ...) |
70 | __attribute__ ((format (printf, 3, 4))); | |
c46917bb | 71 | #else |
f643e51d PR |
72 | static inline void __attribute__ ((format (printf, 3, 4))) |
73 | ath_print(struct ath_common *common, int dbg_mask, const char *fmt, ...) | |
c46917bb LR |
74 | { |
75 | } | |
76 | #endif /* CONFIG_ATH_DEBUG */ | |
77 | ||
78 | #endif /* ATH_DEBUG_H */ |