diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-11-23 22:01:45 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-11-23 22:01:45 +0000 |
commit | 5e3ba36eb5ce79c1545260d62283332917d77464 (patch) | |
tree | 640c59262605b6c4dc5d5351fe8fe4eabe25c379 /package/mac80211/patches/530-ath9k_debugfs_regaccess.patch | |
parent | 1110dd598c91a42bba90f2315381245d904bba07 (diff) |
separate ath9k debugfs support from ath9k debugging, use the mac80211 debugfs config option to enable it
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18505 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/530-ath9k_debugfs_regaccess.patch')
-rw-r--r-- | package/mac80211/patches/530-ath9k_debugfs_regaccess.patch | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/package/mac80211/patches/530-ath9k_debugfs_regaccess.patch b/package/mac80211/patches/530-ath9k_debugfs_regaccess.patch deleted file mode 100644 index b973dbb2a..000000000 --- a/package/mac80211/patches/530-ath9k_debugfs_regaccess.patch +++ /dev/null @@ -1,128 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/debug.c -+++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -634,6 +634,86 @@ static const struct file_operations fops - .owner = THIS_MODULE - }; - -+static ssize_t read_file_regidx(struct file *file, char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ char buf[32]; -+ unsigned int len; -+ -+ len = snprintf(buf, sizeof(buf), "0x%08x\n", sc->debug.regidx); -+ return simple_read_from_buffer(user_buf, count, ppos, buf, len); -+} -+ -+static ssize_t write_file_regidx(struct file *file, const char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ unsigned long regidx; -+ char buf[32]; -+ ssize_t len; -+ -+ len = min(count, sizeof(buf) - 1); -+ if (copy_from_user(buf, user_buf, len)) -+ return -EINVAL; -+ -+ buf[len] = '\0'; -+ if (strict_strtoul(buf, 0, ®idx)) -+ return -EINVAL; -+ -+ sc->debug.regidx = regidx; -+ return count; -+} -+ -+static const struct file_operations fops_regidx = { -+ .read = read_file_regidx, -+ .write = write_file_regidx, -+ .open = ath9k_debugfs_open, -+ .owner = THIS_MODULE -+}; -+ -+static ssize_t read_file_regval(struct file *file, char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ struct ath_hw *ah = sc->sc_ah; -+ char buf[32]; -+ unsigned int len; -+ u32 regval; -+ -+ regval = REG_READ_D(ah, sc->debug.regidx); -+ len = snprintf(buf, sizeof(buf), "0x%08x\n", regval); -+ return simple_read_from_buffer(user_buf, count, ppos, buf, len); -+} -+ -+static ssize_t write_file_regval(struct file *file, const char __user *user_buf, -+ size_t count, loff_t *ppos) -+{ -+ struct ath_softc *sc = file->private_data; -+ struct ath_hw *ah = sc->sc_ah; -+ unsigned long regval; -+ char buf[32]; -+ ssize_t len; -+ -+ len = min(count, sizeof(buf) - 1); -+ if (copy_from_user(buf, user_buf, len)) -+ return -EINVAL; -+ -+ buf[len] = '\0'; -+ if (strict_strtoul(buf, 0, ®val)) -+ return -EINVAL; -+ -+ REG_WRITE_D(ah, sc->debug.regidx, regval); -+ return count; -+} -+ -+static const struct file_operations fops_regval = { -+ .read = read_file_regval, -+ .write = write_file_regval, -+ .open = ath9k_debugfs_open, -+ .owner = THIS_MODULE -+}; -+ - int ath9k_init_debug(struct ath_hw *ah) - { - struct ath_common *common = ath9k_hw_common(ah); -@@ -694,6 +774,17 @@ int ath9k_init_debug(struct ath_hw *ah) - if (!sc->debug.debugfs_xmit) - goto err; - -+ sc->debug.regidx = 0; -+ sc->debug.debugfs_regidx = debugfs_create_file("regidx", -+ S_IRUSR|S_IWUSR, sc->debug.debugfs_phy, sc, &fops_regidx); -+ if (!sc->debug.debugfs_regidx) -+ goto err; -+ -+ sc->debug.debugfs_regval = debugfs_create_file("regval", -+ S_IRUSR|S_IWUSR, sc->debug.debugfs_phy, sc, &fops_regval); -+ if (!sc->debug.debugfs_regval) -+ goto err; -+ - return 0; - err: - ath9k_exit_debug(ah); -@@ -707,6 +798,8 @@ void ath9k_exit_debug(struct ath_hw *ah) - - debugfs_remove(sc->debug.debugfs_tx_chainmask); - debugfs_remove(sc->debug.debugfs_rx_chainmask); -+ debugfs_remove(sc->debug.debugfs_regval); -+ debugfs_remove(sc->debug.debugfs_regidx); - debugfs_remove(sc->debug.debugfs_xmit); - debugfs_remove(sc->debug.debugfs_wiphy); - debugfs_remove(sc->debug.debugfs_rcstat); ---- a/drivers/net/wireless/ath/ath9k/debug.h -+++ b/drivers/net/wireless/ath/ath9k/debug.h -@@ -132,6 +132,9 @@ struct ath9k_debug { - struct dentry *debugfs_rcstat; - struct dentry *debugfs_wiphy; - struct dentry *debugfs_xmit; -+ struct dentry *debugfs_regidx; -+ struct dentry *debugfs_regval; -+ u32 regidx; - struct ath_stats stats; - }; - |