ath6kl: Add initial debugfs changes
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Fri, 26 Aug 2011 07:36:31 +0000 (13:06 +0530)
committerKalle Valo <kvalo@qca.qualcomm.com>
Wed, 31 Aug 2011 07:10:54 +0000 (10:10 +0300)
Just initial debugfs changes. The debugfs directory would
be created at <debugfs_root>/ieee80211/phyX/ath6kl.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/core.h
drivers/net/wireless/ath/ath6kl/debug.c
drivers/net/wireless/ath/ath6kl/debug.h
drivers/net/wireless/ath/ath6kl/init.c

index 4405ab56bb87a4d3f831b95ccdb7958f288a8957..c5537b3f77c8ba8a99ed279bd171800e728e71c3 100644 (file)
@@ -467,6 +467,7 @@ struct ath6kl {
        struct workqueue_struct *ath6kl_wq;
 
        struct ath6kl_node_table scan_table;
+       struct dentry *debugfs_phy;
 };
 
 static inline void *ath6kl_priv(struct net_device *dev)
index 316136c8b9036713a6dbcfade8aac76f79dec552..12775e80a0f42a11666bfe3975b794e05cd4e989 100644 (file)
@@ -147,4 +147,14 @@ void dump_cred_dist_stats(struct htc_target *target)
                   target->cred_dist_cntxt->cur_free_credits);
 }
 
+int ath6kl_debug_init(struct ath6kl *ar)
+{
+       ar->debugfs_phy = debugfs_create_dir("ath6kl",
+                                            ar->wdev->wiphy->debugfsdir);
+       if (!ar->debugfs_phy)
+               return -ENOMEM;
+
+       /* TODO: Create debugfs file entries for various target/host stats */
+       return 0;
+}
 #endif
index 66b399962f01f04d3e0304e8c3e402d0acdd076f..e8c9ea9ce02cd1474b7637619e253832edd33bdd 100644 (file)
@@ -78,6 +78,7 @@ void ath6kl_dump_registers(struct ath6kl_device *dev,
                           struct ath6kl_irq_proc_registers *irq_proc_reg,
                           struct ath6kl_irq_enable_reg *irq_en_reg);
 void dump_cred_dist_stats(struct htc_target *target);
+int ath6kl_debug_init(struct ath6kl *ar);
 #else
 static inline int ath6kl_dbg(enum ATH6K_DEBUG_MASK dbg_mask,
                             const char *fmt, ...)
@@ -100,6 +101,9 @@ static inline void ath6kl_dump_registers(struct ath6kl_device *dev,
 static inline void dump_cred_dist_stats(struct htc_target *target)
 {
 }
+static inline int ath6kl_debug_init(struct ath6kl *ar)
+{
+       return 0;
+}
 #endif
-
 #endif
index 75230ac2853711da48b4c456bd113fccc97d733b..ad9716c91a81525fa0c3aa536362d8674ed44cd0 100644 (file)
@@ -573,6 +573,12 @@ struct ath6kl *ath6kl_core_alloc(struct device *sdev)
        ar->wdev = wdev;
        wdev->iftype = NL80211_IFTYPE_STATION;
 
+       if (ath6kl_debug_init(ar)) {
+               ath6kl_err("Failed to initialize debugfs\n");
+               ath6kl_cfg80211_deinit(ar);
+               return NULL;
+       }
+
        dev = alloc_netdev(0, "wlan%d", ether_setup);
        if (!dev) {
                ath6kl_err("no memory for network device instance\n");