| Larry Finger | 75388ac | 2007-09-25 16:46:54 -0700 | [diff] [blame] | 1 | #ifndef B43legacy_DEBUGFS_H_ | 
 | 2 | #define B43legacy_DEBUGFS_H_ | 
 | 3 |  | 
 | 4 | struct b43legacy_wldev; | 
 | 5 | struct b43legacy_txstatus; | 
 | 6 |  | 
 | 7 | enum b43legacy_dyndbg { /* Dynamic debugging features */ | 
 | 8 | 	B43legacy_DBG_XMITPOWER, | 
 | 9 | 	B43legacy_DBG_DMAOVERFLOW, | 
 | 10 | 	B43legacy_DBG_DMAVERBOSE, | 
 | 11 | 	B43legacy_DBG_PWORK_FAST, | 
 | 12 | 	B43legacy_DBG_PWORK_STOP, | 
 | 13 | 	__B43legacy_NR_DYNDBG, | 
 | 14 | }; | 
 | 15 |  | 
 | 16 |  | 
 | 17 | #ifdef CONFIG_B43LEGACY_DEBUG | 
 | 18 |  | 
 | 19 | struct dentry; | 
 | 20 |  | 
 | 21 | #define B43legacy_NR_LOGGED_TXSTATUS	100 | 
 | 22 |  | 
 | 23 | struct b43legacy_txstatus_log { | 
 | 24 | 	struct b43legacy_txstatus *log; | 
 | 25 | 	int end; | 
 | 26 | 	spinlock_t lock;	/* lock for debugging */ | 
 | 27 | }; | 
 | 28 |  | 
 | 29 | struct b43legacy_dfs_file { | 
 | 30 | 	struct dentry *dentry; | 
 | 31 | 	char *buffer; | 
 | 32 | 	size_t data_len; | 
 | 33 | }; | 
 | 34 |  | 
 | 35 | struct 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 | 	u32 dyn_debug[__B43legacy_NR_DYNDBG]; | 
 | 51 | 	/* Dentries for the dynamic debugging entries. */ | 
 | 52 | 	struct dentry *dyn_debug_dentries[__B43legacy_NR_DYNDBG]; | 
 | 53 | }; | 
 | 54 |  | 
 | 55 | int b43legacy_debug(struct b43legacy_wldev *dev, | 
 | 56 | 		    enum b43legacy_dyndbg feature); | 
 | 57 |  | 
 | 58 | void b43legacy_debugfs_init(void); | 
 | 59 | void b43legacy_debugfs_exit(void); | 
 | 60 | void b43legacy_debugfs_add_device(struct b43legacy_wldev *dev); | 
 | 61 | void b43legacy_debugfs_remove_device(struct b43legacy_wldev *dev); | 
 | 62 | void b43legacy_debugfs_log_txstat(struct b43legacy_wldev *dev, | 
 | 63 | 				  const struct b43legacy_txstatus *status); | 
 | 64 |  | 
 | 65 | #else /* CONFIG_B43LEGACY_DEBUG*/ | 
 | 66 |  | 
 | 67 | static inline | 
 | 68 | int b43legacy_debug(struct b43legacy_wldev *dev, | 
 | 69 | 		    enum b43legacy_dyndbg feature) | 
 | 70 | { | 
 | 71 | 	return 0; | 
 | 72 | } | 
 | 73 |  | 
 | 74 | static inline | 
 | 75 | void b43legacy_debugfs_init(void) { } | 
 | 76 | static inline | 
 | 77 | void b43legacy_debugfs_exit(void) { } | 
 | 78 | static inline | 
 | 79 | void b43legacy_debugfs_add_device(struct b43legacy_wldev *dev) { } | 
 | 80 | static inline | 
 | 81 | void b43legacy_debugfs_remove_device(struct b43legacy_wldev *dev) { } | 
 | 82 | static inline | 
 | 83 | void b43legacy_debugfs_log_txstat(struct b43legacy_wldev *dev, | 
 | 84 | 				  const struct b43legacy_txstatus *status) | 
 | 85 | 				  { } | 
 | 86 |  | 
 | 87 | #endif /* CONFIG_B43LEGACY_DEBUG*/ | 
 | 88 |  | 
 | 89 | #endif /* B43legacy_DEBUGFS_H_ */ |