90 lines
		
	
	
	
		
			2.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			90 lines
		
	
	
	
		
			2.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef B43legacy_DEBUGFS_H_
							 | 
						||
| 
								 | 
							
								#define B43legacy_DEBUGFS_H_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct b43legacy_wldev;
							 | 
						||
| 
								 | 
							
								struct b43legacy_txstatus;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum b43legacy_dyndbg { /* Dynamic debugging features */
							 | 
						||
| 
								 | 
							
									B43legacy_DBG_XMITPOWER,
							 | 
						||
| 
								 | 
							
									B43legacy_DBG_DMAOVERFLOW,
							 | 
						||
| 
								 | 
							
									B43legacy_DBG_DMAVERBOSE,
							 | 
						||
| 
								 | 
							
									B43legacy_DBG_PWORK_FAST,
							 | 
						||
| 
								 | 
							
									B43legacy_DBG_PWORK_STOP,
							 | 
						||
| 
								 | 
							
									__B43legacy_NR_DYNDBG,
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef CONFIG_B43LEGACY_DEBUG
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct dentry;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define B43legacy_NR_LOGGED_TXSTATUS	100
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct b43legacy_txstatus_log {
							 | 
						||
| 
								 | 
							
									struct b43legacy_txstatus *log;
							 | 
						||
| 
								 | 
							
									int end;
							 | 
						||
| 
								 | 
							
									spinlock_t lock;	/* lock for debugging */
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct b43legacy_dfs_file {
							 | 
						||
| 
								 | 
							
									struct dentry *dentry;
							 | 
						||
| 
								 | 
							
									char *buffer;
							 | 
						||
| 
								 | 
							
									size_t data_len;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct b43legacy_dfsentry {
							 | 
						||
| 
								 | 
							
									struct b43legacy_wldev *dev;
							 | 
						||
| 
								 | 
							
									struct dentry *subdir;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									struct b43legacy_dfs_file file_tsf;
							 | 
						||
| 
								 | 
							
									struct b43legacy_dfs_file file_ucode_regs;
							 | 
						||
| 
								 | 
							
									struct b43legacy_dfs_file file_shm;
							 | 
						||
| 
								 | 
							
									struct b43legacy_dfs_file file_txstat;
							 | 
						||
| 
								 | 
							
									struct b43legacy_dfs_file file_txpower_g;
							 | 
						||
| 
								 | 
							
									struct b43legacy_dfs_file file_restart;
							 | 
						||
| 
								 | 
							
									struct b43legacy_dfs_file file_loctls;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									struct b43legacy_txstatus_log txstatlog;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/* Enabled/Disabled list for the dynamic debugging features. */
							 | 
						||
| 
								 | 
							
									u32 dyn_debug[__B43legacy_NR_DYNDBG];
							 | 
						||
| 
								 | 
							
									/* Dentries for the dynamic debugging entries. */
							 | 
						||
| 
								 | 
							
									struct dentry *dyn_debug_dentries[__B43legacy_NR_DYNDBG];
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int b43legacy_debug(struct b43legacy_wldev *dev,
							 | 
						||
| 
								 | 
							
										    enum b43legacy_dyndbg feature);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void b43legacy_debugfs_init(void);
							 | 
						||
| 
								 | 
							
								void b43legacy_debugfs_exit(void);
							 | 
						||
| 
								 | 
							
								void b43legacy_debugfs_add_device(struct b43legacy_wldev *dev);
							 | 
						||
| 
								 | 
							
								void b43legacy_debugfs_remove_device(struct b43legacy_wldev *dev);
							 | 
						||
| 
								 | 
							
								void b43legacy_debugfs_log_txstat(struct b43legacy_wldev *dev,
							 | 
						||
| 
								 | 
							
												  const struct b43legacy_txstatus *status);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#else /* CONFIG_B43LEGACY_DEBUG*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								static inline
							 | 
						||
| 
								 | 
							
								int b43legacy_debug(struct b43legacy_wldev *dev,
							 | 
						||
| 
								 | 
							
										    enum b43legacy_dyndbg feature)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									return 0;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								static inline
							 | 
						||
| 
								 | 
							
								void b43legacy_debugfs_init(void) { }
							 | 
						||
| 
								 | 
							
								static inline
							 | 
						||
| 
								 | 
							
								void b43legacy_debugfs_exit(void) { }
							 | 
						||
| 
								 | 
							
								static inline
							 | 
						||
| 
								 | 
							
								void b43legacy_debugfs_add_device(struct b43legacy_wldev *dev) { }
							 | 
						||
| 
								 | 
							
								static inline
							 | 
						||
| 
								 | 
							
								void b43legacy_debugfs_remove_device(struct b43legacy_wldev *dev) { }
							 | 
						||
| 
								 | 
							
								static inline
							 | 
						||
| 
								 | 
							
								void b43legacy_debugfs_log_txstat(struct b43legacy_wldev *dev,
							 | 
						||
| 
								 | 
							
												  const struct b43legacy_txstatus *status)
							 | 
						||
| 
								 | 
							
												  { }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* CONFIG_B43LEGACY_DEBUG*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* B43legacy_DEBUGFS_H_ */
							 |