Skip to content

Commit

Permalink
ath9k: separate debugfs support from CONFIG_ATH_DEBUG
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Felix Fietkau authored and John W. Linville committed Nov 28, 2009
1 parent f911ab8 commit a830df0
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 14 deletions.
13 changes: 4 additions & 9 deletions drivers/net/wireless/ath/ath9k/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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:

modprobe ath9k debug=0x00000200
Say Y, if you need access to ath9k's statistics for
interrupts, rate control, etc.

Look in ath9k/debug.h for possible debug masks
Also required for changing debug message flags at run time.

endif # ATH_DEBUG
2 changes: 1 addition & 1 deletion drivers/net/wireless/ath/ath9k/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/ath/ath9k/ath9k.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
6 changes: 6 additions & 0 deletions drivers/net/wireless/ath/ath9k/debug.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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)
{
Expand Down Expand Up @@ -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);
Expand Down
6 changes: 3 additions & 3 deletions drivers/net/wireless/ath/ath9k/debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 */

0 comments on commit a830df0

Please sign in to comment.