diff options
Diffstat (limited to 'package/mac80211/patches/510-ath9k_debugfs_regaccess.patch')
-rw-r--r-- | package/mac80211/patches/510-ath9k_debugfs_regaccess.patch | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/package/mac80211/patches/510-ath9k_debugfs_regaccess.patch b/package/mac80211/patches/510-ath9k_debugfs_regaccess.patch deleted file mode 100644 index 3827ed9c2..000000000 --- a/package/mac80211/patches/510-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 -@@ -795,6 +795,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); -@@ -864,6 +944,17 @@ int ath9k_init_debug(struct ath_hw *ah) - if (!sc->debug.debugfs_recv) - 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); -@@ -877,6 +968,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_recv); - debugfs_remove(sc->debug.debugfs_xmit); - debugfs_remove(sc->debug.debugfs_wiphy); ---- a/drivers/net/wireless/ath/ath9k/debug.h -+++ b/drivers/net/wireless/ath/ath9k/debug.h -@@ -162,6 +162,9 @@ struct ath9k_debug { - struct dentry *debugfs_wiphy; - struct dentry *debugfs_xmit; - struct dentry *debugfs_recv; -+ struct dentry *debugfs_regidx; -+ struct dentry *debugfs_regval; -+ u32 regidx; - struct ath_stats stats; - }; - |