diff options
author | Luciano Coelho <coelho@ti.com> | 2012-05-10 05:14:09 -0400 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2012-06-05 08:58:16 -0400 |
commit | 8c0ea1021c38cfd2f0ba5d8fdd48a9e9827bbc03 (patch) | |
tree | 9541d699617c718fe0519ed44190ad1bcb848604 /drivers/net/wireless/ti/wl18xx/main.c | |
parent | 10b1e8a27a45559df7d02c864081e929369d83bf (diff) |
wl18xx: implement fw status debugfs entries
Implement the operations that are necessary to fetch the
wl18xx-specific FW statistics and export them in debugfs.
Signed-off-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Diffstat (limited to 'drivers/net/wireless/ti/wl18xx/main.c')
-rw-r--r-- | drivers/net/wireless/ti/wl18xx/main.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c index afa2334d0aea..24673e37a1dd 100644 --- a/drivers/net/wireless/ti/wl18xx/main.c +++ b/drivers/net/wireless/ti/wl18xx/main.c | |||
@@ -38,7 +38,7 @@ | |||
38 | #include "tx.h" | 38 | #include "tx.h" |
39 | #include "wl18xx.h" | 39 | #include "wl18xx.h" |
40 | #include "io.h" | 40 | #include "io.h" |
41 | 41 | #include "debugfs.h" | |
42 | 42 | ||
43 | #define WL18XX_RX_CHECKSUM_MASK 0x40 | 43 | #define WL18XX_RX_CHECKSUM_MASK 0x40 |
44 | 44 | ||
@@ -1011,6 +1011,11 @@ static void wl18xx_get_mac(struct wl1271 *wl) | |||
1011 | wlcore_set_partition(wl, &wl->ptable[PART_DOWN]); | 1011 | wlcore_set_partition(wl, &wl->ptable[PART_DOWN]); |
1012 | } | 1012 | } |
1013 | 1013 | ||
1014 | static int wl18xx_debugfs_init(struct wl1271 *wl, struct dentry *rootdir) | ||
1015 | { | ||
1016 | return wl18xx_debugfs_add_files(wl, rootdir); | ||
1017 | } | ||
1018 | |||
1014 | static struct wlcore_ops wl18xx_ops = { | 1019 | static struct wlcore_ops wl18xx_ops = { |
1015 | .identify_chip = wl18xx_identify_chip, | 1020 | .identify_chip = wl18xx_identify_chip, |
1016 | .boot = wl18xx_boot, | 1021 | .boot = wl18xx_boot, |
@@ -1031,6 +1036,7 @@ static struct wlcore_ops wl18xx_ops = { | |||
1031 | .sta_get_ap_rate_mask = wl18xx_sta_get_ap_rate_mask, | 1036 | .sta_get_ap_rate_mask = wl18xx_sta_get_ap_rate_mask, |
1032 | .ap_get_mimo_wide_rate_mask = wl18xx_ap_get_mimo_wide_rate_mask, | 1037 | .ap_get_mimo_wide_rate_mask = wl18xx_ap_get_mimo_wide_rate_mask, |
1033 | .get_mac = wl18xx_get_mac, | 1038 | .get_mac = wl18xx_get_mac, |
1039 | .debugfs_init = wl18xx_debugfs_init, | ||
1034 | }; | 1040 | }; |
1035 | 1041 | ||
1036 | /* HT cap appropriate for wide channels */ | 1042 | /* HT cap appropriate for wide channels */ |
@@ -1085,6 +1091,7 @@ int __devinit wl18xx_probe(struct platform_device *pdev) | |||
1085 | wl->hw_tx_rate_tbl_size = WL18XX_CONF_HW_RXTX_RATE_MAX; | 1091 | wl->hw_tx_rate_tbl_size = WL18XX_CONF_HW_RXTX_RATE_MAX; |
1086 | wl->hw_min_ht_rate = WL18XX_CONF_HW_RXTX_RATE_MCS0; | 1092 | wl->hw_min_ht_rate = WL18XX_CONF_HW_RXTX_RATE_MCS0; |
1087 | wl->fw_status_priv_len = sizeof(struct wl18xx_fw_status_priv); | 1093 | wl->fw_status_priv_len = sizeof(struct wl18xx_fw_status_priv); |
1094 | wl->stats.fw_stats_len = sizeof(struct wl18xx_acx_statistics); | ||
1088 | memcpy(&wl->ht_cap, &wl18xx_ht_cap, sizeof(wl18xx_ht_cap)); | 1095 | memcpy(&wl->ht_cap, &wl18xx_ht_cap, sizeof(wl18xx_ht_cap)); |
1089 | if (ht_mode_param && !strcmp(ht_mode_param, "mimo")) | 1096 | if (ht_mode_param && !strcmp(ht_mode_param, "mimo")) |
1090 | memcpy(&wl->ht_cap, &wl18xx_mimo_ht_cap, | 1097 | memcpy(&wl->ht_cap, &wl18xx_mimo_ht_cap, |