88 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef B43legacy_DEBUGFS_H_3#define B43legacy_DEBUGFS_H_4 5struct b43legacy_wldev;6struct b43legacy_txstatus;7 8enum 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,15};16 17 18#ifdef CONFIG_B43LEGACY_DEBUG19 20struct dentry;21 22#define B43legacy_NR_LOGGED_TXSTATUS 10023 24struct b43legacy_txstatus_log {25 struct b43legacy_txstatus *log;26 int end;27 spinlock_t lock; /* lock for debugging */28};29 30struct b43legacy_dfs_file {31 char *buffer;32 size_t data_len;33};34 35struct b43legacy_dfsentry {36 struct b43legacy_wldev *dev;37 struct dentry *subdir;38 39 struct b43legacy_dfs_file file_tsf;40 struct b43legacy_dfs_file file_ucode_regs;41 struct b43legacy_dfs_file file_shm;42 struct b43legacy_dfs_file file_txstat;43 struct b43legacy_dfs_file file_txpower_g;44 struct b43legacy_dfs_file file_restart;45 struct b43legacy_dfs_file file_loctls;46 47 struct b43legacy_txstatus_log txstatlog;48 49 /* Enabled/Disabled list for the dynamic debugging features. */50 bool dyn_debug[__B43legacy_NR_DYNDBG];51};52 53int b43legacy_debug(struct b43legacy_wldev *dev,54 enum b43legacy_dyndbg feature);55 56void b43legacy_debugfs_init(void);57void b43legacy_debugfs_exit(void);58void b43legacy_debugfs_add_device(struct b43legacy_wldev *dev);59void b43legacy_debugfs_remove_device(struct b43legacy_wldev *dev);60void b43legacy_debugfs_log_txstat(struct b43legacy_wldev *dev,61 const struct b43legacy_txstatus *status);62 63#else /* CONFIG_B43LEGACY_DEBUG*/64 65static inline66int b43legacy_debug(struct b43legacy_wldev *dev,67 enum b43legacy_dyndbg feature)68{69 return 0;70}71 72static inline73void b43legacy_debugfs_init(void) { }74static inline75void b43legacy_debugfs_exit(void) { }76static inline77void b43legacy_debugfs_add_device(struct b43legacy_wldev *dev) { }78static inline79void b43legacy_debugfs_remove_device(struct b43legacy_wldev *dev) { }80static inline81void b43legacy_debugfs_log_txstat(struct b43legacy_wldev *dev,82 const struct b43legacy_txstatus *status)83 { }84 85#endif /* CONFIG_B43LEGACY_DEBUG*/86 87#endif /* B43legacy_DEBUGFS_H_ */88