ath5k: clean up debugfs code
authorFelix Fietkau <nbd@openwrt.org>
Sun, 10 Apr 2011 16:23:34 +0000 (16:23 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 10 Apr 2011 16:23:34 +0000 (16:23 +0000)
SVN-Revision: 26578

package/mac80211/patches/469-ath5k_cleanup_debugfs.patch [new file with mode: 0644]

diff --git a/package/mac80211/patches/469-ath5k_cleanup_debugfs.patch b/package/mac80211/patches/469-ath5k_cleanup_debugfs.patch
new file mode 100644 (file)
index 0000000..875f21f
--- /dev/null
@@ -0,0 +1,143 @@
+--- a/drivers/net/wireless/ath/ath5k/debug.c
++++ b/drivers/net/wireless/ath/ath5k/debug.c
+@@ -888,64 +888,37 @@ static const struct file_operations fops
+ void
+ ath5k_debug_init_device(struct ath5k_softc *sc)
+ {
++      struct dentry *phydir;
++
+       sc->debug.level = ath5k_debug;
+-      sc->debug.debugfs_phydir = debugfs_create_dir("ath5k",
+-                              sc->hw->wiphy->debugfsdir);
++      phydir = debugfs_create_dir("ath5k", sc->hw->wiphy->debugfsdir);
++      if (!phydir)
++          return;
+-      sc->debug.debugfs_debug = debugfs_create_file("debug",
+-                              S_IWUSR | S_IRUSR,
+-                              sc->debug.debugfs_phydir, sc, &fops_debug);
+-
+-      sc->debug.debugfs_registers = debugfs_create_file("registers", S_IRUSR,
+-                              sc->debug.debugfs_phydir, sc, &fops_registers);
+-
+-      sc->debug.debugfs_beacon = debugfs_create_file("beacon",
+-                              S_IWUSR | S_IRUSR,
+-                              sc->debug.debugfs_phydir, sc, &fops_beacon);
+-
+-      sc->debug.debugfs_reset = debugfs_create_file("reset", S_IWUSR,
+-                              sc->debug.debugfs_phydir, sc, &fops_reset);
+-
+-      sc->debug.debugfs_antenna = debugfs_create_file("antenna",
+-                              S_IWUSR | S_IRUSR,
+-                              sc->debug.debugfs_phydir, sc, &fops_antenna);
+-
+-      sc->debug.debugfs_misc = debugfs_create_file("misc",
+-                              S_IRUSR,
+-                              sc->debug.debugfs_phydir, sc, &fops_misc);
+-
+-      sc->debug.debugfs_frameerrors = debugfs_create_file("frameerrors",
+-                              S_IWUSR | S_IRUSR,
+-                              sc->debug.debugfs_phydir, sc,
+-                              &fops_frameerrors);
+-
+-      sc->debug.debugfs_ani = debugfs_create_file("ani",
+-                              S_IWUSR | S_IRUSR,
+-                              sc->debug.debugfs_phydir, sc,
+-                              &fops_ani);
+-
+-      sc->debug.debugfs_queue = debugfs_create_file("queue",
+-                              S_IWUSR | S_IRUSR,
+-                              sc->debug.debugfs_phydir, sc,
+-                              &fops_queue);
+-}
++      debugfs_create_file("debug", S_IWUSR | S_IRUSR, phydir, sc,
++                          &fops_debug);
+-void
+-ath5k_debug_finish_device(struct ath5k_softc *sc)
+-{
+-      debugfs_remove(sc->debug.debugfs_debug);
+-      debugfs_remove(sc->debug.debugfs_registers);
+-      debugfs_remove(sc->debug.debugfs_beacon);
+-      debugfs_remove(sc->debug.debugfs_reset);
+-      debugfs_remove(sc->debug.debugfs_antenna);
+-      debugfs_remove(sc->debug.debugfs_misc);
+-      debugfs_remove(sc->debug.debugfs_frameerrors);
+-      debugfs_remove(sc->debug.debugfs_ani);
+-      debugfs_remove(sc->debug.debugfs_queue);
+-      debugfs_remove(sc->debug.debugfs_phydir);
+-}
++      debugfs_create_file("registers", S_IRUSR, phydir, sc, &fops_registers);
++
++      debugfs_create_file("beacon", S_IWUSR | S_IRUSR, phydir, sc,
++                          &fops_beacon);
++      debugfs_create_file("reset", S_IWUSR, phydir, sc, &fops_reset);
++
++      debugfs_create_file("antenna", S_IWUSR | S_IRUSR, phydir, sc,
++                          &fops_antenna);
++
++      debugfs_create_file("misc", S_IRUSR, phydir, sc, &fops_misc);
++
++      debugfs_create_file("frameerrors", S_IWUSR | S_IRUSR, phydir, sc,
++                          &fops_frameerrors);
++
++      debugfs_create_file("ani", S_IWUSR | S_IRUSR, phydir, sc, &fops_ani);
++
++      debugfs_create_file("queue", S_IWUSR | S_IRUSR, phydir, sc,
++                          &fops_queue);
++}
+ /* functions used in other places */
+--- a/drivers/net/wireless/ath/ath5k/debug.h
++++ b/drivers/net/wireless/ath/ath5k/debug.h
+@@ -68,17 +68,6 @@ struct ath5k_buf;
+ struct ath5k_dbg_info {
+       unsigned int            level;          /* debug level */
+-      /* debugfs entries */
+-      struct dentry           *debugfs_phydir;
+-      struct dentry           *debugfs_debug;
+-      struct dentry           *debugfs_registers;
+-      struct dentry           *debugfs_beacon;
+-      struct dentry           *debugfs_reset;
+-      struct dentry           *debugfs_antenna;
+-      struct dentry           *debugfs_misc;
+-      struct dentry           *debugfs_frameerrors;
+-      struct dentry           *debugfs_ani;
+-      struct dentry           *debugfs_queue;
+ };
+ /**
+@@ -141,9 +130,6 @@ void
+ ath5k_debug_init_device(struct ath5k_softc *sc);
+ void
+-ath5k_debug_finish_device(struct ath5k_softc *sc);
+-
+-void
+ ath5k_debug_printrxbuffs(struct ath5k_softc *sc, struct ath5k_hw *ah);
+ void
+@@ -167,9 +153,6 @@ static inline void
+ ath5k_debug_init_device(struct ath5k_softc *sc) {}
+ static inline void
+-ath5k_debug_finish_device(struct ath5k_softc *sc) {}
+-
+-static inline void
+ ath5k_debug_printrxbuffs(struct ath5k_softc *sc, struct ath5k_hw *ah) {}
+ static inline void
+--- a/drivers/net/wireless/ath/ath5k/base.c
++++ b/drivers/net/wireless/ath/ath5k/base.c
+@@ -2901,7 +2901,6 @@ ath5k_deinit_softc(struct ath5k_softc *s
+        * XXX: ??? detach ath5k_hw ???
+        * Other than that, it's straightforward...
+        */
+-      ath5k_debug_finish_device(sc);
+       ieee80211_unregister_hw(hw);
+       ath5k_desc_free(sc);
+       ath5k_txq_release(sc);