ath9k: separate debugfs support from CONFIG_ATH_DEBUG
In my setups, ath9k's debugfs files are most of the time much more useful than the messages generated by enabling CONFIG_ATH_DEBUG along with the right debug flags. Since CONFIG_ATH_DEBUG comes with a noticeable overhead on embedded systems, this patch makes it possible to use the debugfs files without that option. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
f911ab83a2
commit
a830df0714
5 changed files with 15 additions and 14 deletions
|
@ -23,17 +23,12 @@ config ATH9K
|
|||
|
||||
If you choose to build a module, it'll be called ath9k.
|
||||
|
||||
if ATH_DEBUG
|
||||
|
||||
config ATH9K_DEBUG
|
||||
config ATH9K_DEBUGFS
|
||||
bool "Atheros ath9k debugging"
|
||||
depends on ATH9K
|
||||
---help---
|
||||
Say Y, if you need ath9k to display debug messages.
|
||||
Pass the debug mask as a module parameter:
|
||||
Say Y, if you need access to ath9k's statistics for
|
||||
interrupts, rate control, etc.
|
||||
|
||||
modprobe ath9k debug=0x00000200
|
||||
Also required for changing debug message flags at run time.
|
||||
|
||||
Look in ath9k/debug.h for possible debug masks
|
||||
|
||||
endif # ATH_DEBUG
|
||||
|
|
|
@ -7,7 +7,7 @@ ath9k-y += beacon.o \
|
|||
|
||||
ath9k-$(CONFIG_PCI) += pci.o
|
||||
ath9k-$(CONFIG_ATHEROS_AR71XX) += ahb.o
|
||||
ath9k-$(CONFIG_ATH9K_DEBUG) += debug.o
|
||||
ath9k-$(CONFIG_ATH9K_DEBUGFS) += debug.o
|
||||
|
||||
obj-$(CONFIG_ATH9K) += ath9k.o
|
||||
|
||||
|
|
|
@ -486,7 +486,7 @@ struct ath_softc {
|
|||
|
||||
int beacon_interval;
|
||||
|
||||
#ifdef CONFIG_ATH9K_DEBUG
|
||||
#ifdef CONFIG_ATH9K_DEBUGFS
|
||||
struct ath9k_debug debug;
|
||||
#endif
|
||||
struct ath_beacon_config cur_beacon_conf;
|
||||
|
|
|
@ -31,6 +31,8 @@ static int ath9k_debugfs_open(struct inode *inode, struct file *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ATH_DEBUG
|
||||
|
||||
static ssize_t read_file_debug(struct file *file, char __user *user_buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
|
@ -71,6 +73,8 @@ static const struct file_operations fops_debug = {
|
|||
.owner = THIS_MODULE
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
static ssize_t read_file_dma(struct file *file, char __user *user_buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
|
@ -563,10 +567,12 @@ int ath9k_init_debug(struct ath_hw *ah)
|
|||
if (!sc->debug.debugfs_phy)
|
||||
goto err;
|
||||
|
||||
#ifdef CONFIG_ATH_DEBUG
|
||||
sc->debug.debugfs_debug = debugfs_create_file("debug",
|
||||
S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, sc, &fops_debug);
|
||||
if (!sc->debug.debugfs_debug)
|
||||
goto err;
|
||||
#endif
|
||||
|
||||
sc->debug.debugfs_dma = debugfs_create_file("dma", S_IRUSR,
|
||||
sc->debug.debugfs_phy, sc, &fops_dma);
|
||||
|
|
|
@ -23,13 +23,13 @@
|
|||
struct ath_txq;
|
||||
struct ath_buf;
|
||||
|
||||
#ifdef CONFIG_ATH9K_DEBUG
|
||||
#ifdef CONFIG_ATH9K_DEBUGFS
|
||||
#define TX_STAT_INC(q, c) sc->debug.stats.txstats[q].c++
|
||||
#else
|
||||
#define TX_STAT_INC(q, c) do { } while (0)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ATH9K_DEBUG
|
||||
#ifdef CONFIG_ATH9K_DEBUGFS
|
||||
|
||||
/**
|
||||
* struct ath_interrupt_stats - Contains statistics about interrupts
|
||||
|
@ -186,6 +186,6 @@ static inline void ath_debug_stat_retries(struct ath_softc *sc, int rix,
|
|||
{
|
||||
}
|
||||
|
||||
#endif /* CONFIG_ATH9K_DEBUG */
|
||||
#endif /* CONFIG_ATH9K_DEBUGFS */
|
||||
|
||||
#endif /* DEBUG_H */
|
||||
|
|
Reference in a new issue