1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef B43legacy_DEBUGFS_H_
3 #define B43legacy_DEBUGFS_H_
5 struct b43legacy_wldev
;
6 struct b43legacy_txstatus
;
8 enum b43legacy_dyndbg
{ /* Dynamic debugging features */
9 B43legacy_DBG_XMITPOWER
,
10 B43legacy_DBG_DMAOVERFLOW
,
11 B43legacy_DBG_DMAVERBOSE
,
12 B43legacy_DBG_PWORK_FAST
,
13 B43legacy_DBG_PWORK_STOP
,
14 __B43legacy_NR_DYNDBG
,
18 #ifdef CONFIG_B43LEGACY_DEBUG
22 #define B43legacy_NR_LOGGED_TXSTATUS 100
24 struct b43legacy_txstatus_log
{
25 struct b43legacy_txstatus
*log
;
27 spinlock_t lock
; /* lock for debugging */
30 struct b43legacy_dfs_file
{
31 struct dentry
*dentry
;
36 struct b43legacy_dfsentry
{
37 struct b43legacy_wldev
*dev
;
38 struct dentry
*subdir
;
40 struct b43legacy_dfs_file file_tsf
;
41 struct b43legacy_dfs_file file_ucode_regs
;
42 struct b43legacy_dfs_file file_shm
;
43 struct b43legacy_dfs_file file_txstat
;
44 struct b43legacy_dfs_file file_txpower_g
;
45 struct b43legacy_dfs_file file_restart
;
46 struct b43legacy_dfs_file file_loctls
;
48 struct b43legacy_txstatus_log txstatlog
;
50 /* Enabled/Disabled list for the dynamic debugging features. */
51 bool dyn_debug
[__B43legacy_NR_DYNDBG
];
52 /* Dentries for the dynamic debugging entries. */
53 struct dentry
*dyn_debug_dentries
[__B43legacy_NR_DYNDBG
];
56 int b43legacy_debug(struct b43legacy_wldev
*dev
,
57 enum b43legacy_dyndbg feature
);
59 void b43legacy_debugfs_init(void);
60 void b43legacy_debugfs_exit(void);
61 void b43legacy_debugfs_add_device(struct b43legacy_wldev
*dev
);
62 void b43legacy_debugfs_remove_device(struct b43legacy_wldev
*dev
);
63 void b43legacy_debugfs_log_txstat(struct b43legacy_wldev
*dev
,
64 const struct b43legacy_txstatus
*status
);
66 #else /* CONFIG_B43LEGACY_DEBUG*/
69 int b43legacy_debug(struct b43legacy_wldev
*dev
,
70 enum b43legacy_dyndbg feature
)
76 void b43legacy_debugfs_init(void) { }
78 void b43legacy_debugfs_exit(void) { }
80 void b43legacy_debugfs_add_device(struct b43legacy_wldev
*dev
) { }
82 void b43legacy_debugfs_remove_device(struct b43legacy_wldev
*dev
) { }
84 void b43legacy_debugfs_log_txstat(struct b43legacy_wldev
*dev
,
85 const struct b43legacy_txstatus
*status
)
88 #endif /* CONFIG_B43LEGACY_DEBUG*/
90 #endif /* B43legacy_DEBUGFS_H_ */