root/drivers/net/wireless/broadcom/b43legacy/debugfs.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. b43legacy_debug
  2. b43legacy_debugfs_init
  3. b43legacy_debugfs_exit
  4. b43legacy_debugfs_add_device
  5. b43legacy_debugfs_remove_device
  6. b43legacy_debugfs_log_txstat

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef B43legacy_DEBUGFS_H_
   3 #define B43legacy_DEBUGFS_H_
   4 
   5 struct b43legacy_wldev;
   6 struct b43legacy_txstatus;
   7 
   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,
  15 };
  16 
  17 
  18 #ifdef CONFIG_B43LEGACY_DEBUG
  19 
  20 struct dentry;
  21 
  22 #define B43legacy_NR_LOGGED_TXSTATUS    100
  23 
  24 struct b43legacy_txstatus_log {
  25         struct b43legacy_txstatus *log;
  26         int end;
  27         spinlock_t lock;        /* lock for debugging */
  28 };
  29 
  30 struct b43legacy_dfs_file {
  31         struct dentry *dentry;
  32         char *buffer;
  33         size_t data_len;
  34 };
  35 
  36 struct b43legacy_dfsentry {
  37         struct b43legacy_wldev *dev;
  38         struct dentry *subdir;
  39 
  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;
  47 
  48         struct b43legacy_txstatus_log txstatlog;
  49 
  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];
  54 };
  55 
  56 int b43legacy_debug(struct b43legacy_wldev *dev,
  57                     enum b43legacy_dyndbg feature);
  58 
  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);
  65 
  66 #else /* CONFIG_B43LEGACY_DEBUG*/
  67 
  68 static inline
  69 int b43legacy_debug(struct b43legacy_wldev *dev,
  70                     enum b43legacy_dyndbg feature)
  71 {
  72         return 0;
  73 }
  74 
  75 static inline
  76 void b43legacy_debugfs_init(void) { }
  77 static inline
  78 void b43legacy_debugfs_exit(void) { }
  79 static inline
  80 void b43legacy_debugfs_add_device(struct b43legacy_wldev *dev) { }
  81 static inline
  82 void b43legacy_debugfs_remove_device(struct b43legacy_wldev *dev) { }
  83 static inline
  84 void b43legacy_debugfs_log_txstat(struct b43legacy_wldev *dev,
  85                                   const struct b43legacy_txstatus *status)
  86                                   { }
  87 
  88 #endif /* CONFIG_B43LEGACY_DEBUG*/
  89 
  90 #endif /* B43legacy_DEBUGFS_H_ */

/* [<][>][^][v][top][bottom][index][help] */