diff options
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h b/drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h index bc013cbe06f6..4bc646bde16f 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.h | |||
@@ -43,6 +43,7 @@ | |||
43 | * debugging is not selected. When debugging the driver error | 43 | * debugging is not selected. When debugging the driver error |
44 | * messages are as important as other tracing or even more so. | 44 | * messages are as important as other tracing or even more so. |
45 | */ | 45 | */ |
46 | #ifndef CONFIG_BRCM_TRACING | ||
46 | #ifdef CONFIG_BRCMDBG | 47 | #ifdef CONFIG_BRCMDBG |
47 | #define brcmf_err(fmt, ...) pr_err("%s: " fmt, __func__, ##__VA_ARGS__) | 48 | #define brcmf_err(fmt, ...) pr_err("%s: " fmt, __func__, ##__VA_ARGS__) |
48 | #else | 49 | #else |
@@ -52,15 +53,21 @@ | |||
52 | pr_err("%s: " fmt, __func__, ##__VA_ARGS__); \ | 53 | pr_err("%s: " fmt, __func__, ##__VA_ARGS__); \ |
53 | } while (0) | 54 | } while (0) |
54 | #endif | 55 | #endif |
56 | #else | ||
57 | __printf(2, 3) | ||
58 | void __brcmf_err(const char *func, const char *fmt, ...); | ||
59 | #define brcmf_err(fmt, ...) \ | ||
60 | __brcmf_err(__func__, fmt, ##__VA_ARGS__) | ||
61 | #endif | ||
55 | 62 | ||
56 | #if defined(DEBUG) | 63 | #if defined(DEBUG) || defined(CONFIG_BRCM_TRACING) |
57 | 64 | __printf(3, 4) | |
65 | void __brcmf_dbg(u32 level, const char *func, const char *fmt, ...); | ||
58 | #define brcmf_dbg(level, fmt, ...) \ | 66 | #define brcmf_dbg(level, fmt, ...) \ |
59 | do { \ | 67 | do { \ |
60 | if (brcmf_msg_level & BRCMF_##level##_VAL) \ | 68 | __brcmf_dbg(BRCMF_##level##_VAL, __func__, \ |
61 | pr_debug("%s: " fmt, __func__, ##__VA_ARGS__); \ | 69 | fmt, ##__VA_ARGS__); \ |
62 | } while (0) | 70 | } while (0) |
63 | |||
64 | #define BRCMF_DATA_ON() (brcmf_msg_level & BRCMF_DATA_VAL) | 71 | #define BRCMF_DATA_ON() (brcmf_msg_level & BRCMF_DATA_VAL) |
65 | #define BRCMF_CTL_ON() (brcmf_msg_level & BRCMF_CTL_VAL) | 72 | #define BRCMF_CTL_ON() (brcmf_msg_level & BRCMF_CTL_VAL) |
66 | #define BRCMF_HDRS_ON() (brcmf_msg_level & BRCMF_HDRS_VAL) | 73 | #define BRCMF_HDRS_ON() (brcmf_msg_level & BRCMF_HDRS_VAL) |
@@ -69,7 +76,7 @@ do { \ | |||
69 | #define BRCMF_EVENT_ON() (brcmf_msg_level & BRCMF_EVENT_VAL) | 76 | #define BRCMF_EVENT_ON() (brcmf_msg_level & BRCMF_EVENT_VAL) |
70 | #define BRCMF_FIL_ON() (brcmf_msg_level & BRCMF_FIL_VAL) | 77 | #define BRCMF_FIL_ON() (brcmf_msg_level & BRCMF_FIL_VAL) |
71 | 78 | ||
72 | #else /* (defined DEBUG) || (defined DEBUG) */ | 79 | #else /* defined(DEBUG) || defined(CONFIG_BRCM_TRACING) */ |
73 | 80 | ||
74 | #define brcmf_dbg(level, fmt, ...) no_printk(fmt, ##__VA_ARGS__) | 81 | #define brcmf_dbg(level, fmt, ...) no_printk(fmt, ##__VA_ARGS__) |
75 | 82 | ||
@@ -81,7 +88,7 @@ do { \ | |||
81 | #define BRCMF_EVENT_ON() 0 | 88 | #define BRCMF_EVENT_ON() 0 |
82 | #define BRCMF_FIL_ON() 0 | 89 | #define BRCMF_FIL_ON() 0 |
83 | 90 | ||
84 | #endif /* defined(DEBUG) */ | 91 | #endif /* defined(DEBUG) || defined(CONFIG_BRCM_TRACING) */ |
85 | 92 | ||
86 | #define brcmf_dbg_hex_dump(test, data, len, fmt, ...) \ | 93 | #define brcmf_dbg_hex_dump(test, data, len, fmt, ...) \ |
87 | do { \ | 94 | do { \ |
@@ -125,6 +132,13 @@ struct brcmf_sdio_count { | |||
125 | ulong rx_readahead_cnt; /* packets where header read-ahead was used */ | 132 | ulong rx_readahead_cnt; /* packets where header read-ahead was used */ |
126 | }; | 133 | }; |
127 | 134 | ||
135 | struct brcmf_fws_stats { | ||
136 | u32 tlv_parse_failed; | ||
137 | u32 tlv_invalid_type; | ||
138 | u32 header_only_pkt; | ||
139 | u32 header_pulls; | ||
140 | }; | ||
141 | |||
128 | struct brcmf_pub; | 142 | struct brcmf_pub; |
129 | #ifdef DEBUG | 143 | #ifdef DEBUG |
130 | void brcmf_debugfs_init(void); | 144 | void brcmf_debugfs_init(void); |
@@ -134,6 +148,8 @@ void brcmf_debugfs_detach(struct brcmf_pub *drvr); | |||
134 | struct dentry *brcmf_debugfs_get_devdir(struct brcmf_pub *drvr); | 148 | struct dentry *brcmf_debugfs_get_devdir(struct brcmf_pub *drvr); |
135 | void brcmf_debugfs_create_sdio_count(struct brcmf_pub *drvr, | 149 | void brcmf_debugfs_create_sdio_count(struct brcmf_pub *drvr, |
136 | struct brcmf_sdio_count *sdcnt); | 150 | struct brcmf_sdio_count *sdcnt); |
151 | void brcmf_debugfs_create_fws_stats(struct brcmf_pub *drvr, | ||
152 | struct brcmf_fws_stats *stats); | ||
137 | #else | 153 | #else |
138 | static inline void brcmf_debugfs_init(void) | 154 | static inline void brcmf_debugfs_init(void) |
139 | { | 155 | { |
@@ -148,6 +164,10 @@ static inline int brcmf_debugfs_attach(struct brcmf_pub *drvr) | |||
148 | static inline void brcmf_debugfs_detach(struct brcmf_pub *drvr) | 164 | static inline void brcmf_debugfs_detach(struct brcmf_pub *drvr) |
149 | { | 165 | { |
150 | } | 166 | } |
167 | static inline void brcmf_debugfs_create_fws_stats(struct brcmf_pub *drvr, | ||
168 | struct brcmf_fws_stats *stats) | ||
169 | { | ||
170 | } | ||
151 | #endif | 171 | #endif |
152 | 172 | ||
153 | #endif /* _BRCMF_DBG_H_ */ | 173 | #endif /* _BRCMF_DBG_H_ */ |