|
|
@@ -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);
|