iwlwifi: mvm: generate statistics debugfs code
authorJohannes Berg <johannes.berg@intel.com>
Thu, 15 Jan 2015 11:59:26 +0000 (12:59 +0100)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Thu, 22 Jan 2015 15:54:08 +0000 (17:54 +0200)
There's no need to duplicate the structure field name in the string,
just generate the string in the macro that's there anyway. To keep
the debugfs output the same, rename one (otherwise unused) field.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/debugfs.c
drivers/net/wireless/iwlwifi/mvm/fw-api-stats.h

index afd1986a3216e9e47b07eaaa4c787cd3996a22eb..82c09d86af8c055d5fdda608756d094905898a8f 100644 (file)
@@ -654,10 +654,10 @@ out:
        return ret ?: count;
 }
 
-#define PRINT_STATS_LE32(_str, _val)                                   \
+#define PRINT_STATS_LE32(_struct, _memb)                               \
                         pos += scnprintf(buf + pos, bufsz - pos,       \
-                                         fmt_table, _str,              \
-                                         le32_to_cpu(_val))
+                                         fmt_table, #_memb,            \
+                                         le32_to_cpu(_struct->_memb))
 
 static ssize_t iwl_dbgfs_fw_rx_stats_read(struct file *file,
                                          char __user *user_buf, size_t count,
@@ -692,97 +692,89 @@ static ssize_t iwl_dbgfs_fw_rx_stats_read(struct file *file,
 
        pos += scnprintf(buf + pos, bufsz - pos, fmt_header,
                         "Statistics_Rx - OFDM");
-       PRINT_STATS_LE32("ina_cnt", ofdm->ina_cnt);
-       PRINT_STATS_LE32("fina_cnt", ofdm->fina_cnt);
-       PRINT_STATS_LE32("plcp_err", ofdm->plcp_err);
-       PRINT_STATS_LE32("crc32_err", ofdm->crc32_err);
-       PRINT_STATS_LE32("overrun_err", ofdm->overrun_err);
-       PRINT_STATS_LE32("early_overrun_err", ofdm->early_overrun_err);
-       PRINT_STATS_LE32("crc32_good", ofdm->crc32_good);
-       PRINT_STATS_LE32("false_alarm_cnt", ofdm->false_alarm_cnt);
-       PRINT_STATS_LE32("fina_sync_err_cnt", ofdm->fina_sync_err_cnt);
-       PRINT_STATS_LE32("sfd_timeout", ofdm->sfd_timeout);
-       PRINT_STATS_LE32("fina_timeout", ofdm->fina_timeout);
-       PRINT_STATS_LE32("unresponded_rts", ofdm->unresponded_rts);
-       PRINT_STATS_LE32("rxe_frame_lmt_overrun",
-                        ofdm->rxe_frame_limit_overrun);
-       PRINT_STATS_LE32("sent_ack_cnt", ofdm->sent_ack_cnt);
-       PRINT_STATS_LE32("sent_cts_cnt", ofdm->sent_cts_cnt);
-       PRINT_STATS_LE32("sent_ba_rsp_cnt", ofdm->sent_ba_rsp_cnt);
-       PRINT_STATS_LE32("dsp_self_kill", ofdm->dsp_self_kill);
-       PRINT_STATS_LE32("mh_format_err", ofdm->mh_format_err);
-       PRINT_STATS_LE32("re_acq_main_rssi_sum", ofdm->re_acq_main_rssi_sum);
-       PRINT_STATS_LE32("reserved", ofdm->reserved);
+       PRINT_STATS_LE32(ofdm, ina_cnt);
+       PRINT_STATS_LE32(ofdm, fina_cnt);
+       PRINT_STATS_LE32(ofdm, plcp_err);
+       PRINT_STATS_LE32(ofdm, crc32_err);
+       PRINT_STATS_LE32(ofdm, overrun_err);
+       PRINT_STATS_LE32(ofdm, early_overrun_err);
+       PRINT_STATS_LE32(ofdm, crc32_good);
+       PRINT_STATS_LE32(ofdm, false_alarm_cnt);
+       PRINT_STATS_LE32(ofdm, fina_sync_err_cnt);
+       PRINT_STATS_LE32(ofdm, sfd_timeout);
+       PRINT_STATS_LE32(ofdm, fina_timeout);
+       PRINT_STATS_LE32(ofdm, unresponded_rts);
+       PRINT_STATS_LE32(ofdm, rxe_frame_lmt_overrun);
+       PRINT_STATS_LE32(ofdm, sent_ack_cnt);
+       PRINT_STATS_LE32(ofdm, sent_cts_cnt);
+       PRINT_STATS_LE32(ofdm, sent_ba_rsp_cnt);
+       PRINT_STATS_LE32(ofdm, dsp_self_kill);
+       PRINT_STATS_LE32(ofdm, mh_format_err);
+       PRINT_STATS_LE32(ofdm, re_acq_main_rssi_sum);
+       PRINT_STATS_LE32(ofdm, reserved);
 
        pos += scnprintf(buf + pos, bufsz - pos, fmt_header,
                         "Statistics_Rx - CCK");
-       PRINT_STATS_LE32("ina_cnt", cck->ina_cnt);
-       PRINT_STATS_LE32("fina_cnt", cck->fina_cnt);
-       PRINT_STATS_LE32("plcp_err", cck->plcp_err);
-       PRINT_STATS_LE32("crc32_err", cck->crc32_err);
-       PRINT_STATS_LE32("overrun_err", cck->overrun_err);
-       PRINT_STATS_LE32("early_overrun_err", cck->early_overrun_err);
-       PRINT_STATS_LE32("crc32_good", cck->crc32_good);
-       PRINT_STATS_LE32("false_alarm_cnt", cck->false_alarm_cnt);
-       PRINT_STATS_LE32("fina_sync_err_cnt", cck->fina_sync_err_cnt);
-       PRINT_STATS_LE32("sfd_timeout", cck->sfd_timeout);
-       PRINT_STATS_LE32("fina_timeout", cck->fina_timeout);
-       PRINT_STATS_LE32("unresponded_rts", cck->unresponded_rts);
-       PRINT_STATS_LE32("rxe_frame_lmt_overrun",
-                        cck->rxe_frame_limit_overrun);
-       PRINT_STATS_LE32("sent_ack_cnt", cck->sent_ack_cnt);
-       PRINT_STATS_LE32("sent_cts_cnt", cck->sent_cts_cnt);
-       PRINT_STATS_LE32("sent_ba_rsp_cnt", cck->sent_ba_rsp_cnt);
-       PRINT_STATS_LE32("dsp_self_kill", cck->dsp_self_kill);
-       PRINT_STATS_LE32("mh_format_err", cck->mh_format_err);
-       PRINT_STATS_LE32("re_acq_main_rssi_sum", cck->re_acq_main_rssi_sum);
-       PRINT_STATS_LE32("reserved", cck->reserved);
+       PRINT_STATS_LE32(cck, ina_cnt);
+       PRINT_STATS_LE32(cck, fina_cnt);
+       PRINT_STATS_LE32(cck, plcp_err);
+       PRINT_STATS_LE32(cck, crc32_err);
+       PRINT_STATS_LE32(cck, overrun_err);
+       PRINT_STATS_LE32(cck, early_overrun_err);
+       PRINT_STATS_LE32(cck, crc32_good);
+       PRINT_STATS_LE32(cck, false_alarm_cnt);
+       PRINT_STATS_LE32(cck, fina_sync_err_cnt);
+       PRINT_STATS_LE32(cck, sfd_timeout);
+       PRINT_STATS_LE32(cck, fina_timeout);
+       PRINT_STATS_LE32(cck, unresponded_rts);
+       PRINT_STATS_LE32(cck, rxe_frame_lmt_overrun);
+       PRINT_STATS_LE32(cck, sent_ack_cnt);
+       PRINT_STATS_LE32(cck, sent_cts_cnt);
+       PRINT_STATS_LE32(cck, sent_ba_rsp_cnt);
+       PRINT_STATS_LE32(cck, dsp_self_kill);
+       PRINT_STATS_LE32(cck, mh_format_err);
+       PRINT_STATS_LE32(cck, re_acq_main_rssi_sum);
+       PRINT_STATS_LE32(cck, reserved);
 
        pos += scnprintf(buf + pos, bufsz - pos, fmt_header,
                         "Statistics_Rx - GENERAL");
-       PRINT_STATS_LE32("bogus_cts", general->bogus_cts);
-       PRINT_STATS_LE32("bogus_ack", general->bogus_ack);
-       PRINT_STATS_LE32("non_bssid_frames", general->non_bssid_frames);
-       PRINT_STATS_LE32("filtered_frames", general->filtered_frames);
-       PRINT_STATS_LE32("non_channel_beacons", general->non_channel_beacons);
-       PRINT_STATS_LE32("channel_beacons", general->channel_beacons);
-       PRINT_STATS_LE32("num_missed_bcon", general->num_missed_bcon);
-       PRINT_STATS_LE32("adc_rx_saturation_time",
-                        general->adc_rx_saturation_time);
-       PRINT_STATS_LE32("ina_detection_search_time",
-                        general->ina_detection_search_time);
-       PRINT_STATS_LE32("beacon_silence_rssi_a",
-                        general->beacon_silence_rssi_a);
-       PRINT_STATS_LE32("beacon_silence_rssi_b",
-                        general->beacon_silence_rssi_b);
-       PRINT_STATS_LE32("beacon_silence_rssi_c",
-                        general->beacon_silence_rssi_c);
-       PRINT_STATS_LE32("interference_data_flag",
-                        general->interference_data_flag);
-       PRINT_STATS_LE32("channel_load", general->channel_load);
-       PRINT_STATS_LE32("dsp_false_alarms", general->dsp_false_alarms);
-       PRINT_STATS_LE32("beacon_rssi_a", general->beacon_rssi_a);
-       PRINT_STATS_LE32("beacon_rssi_b", general->beacon_rssi_b);
-       PRINT_STATS_LE32("beacon_rssi_c", general->beacon_rssi_c);
-       PRINT_STATS_LE32("beacon_energy_a", general->beacon_energy_a);
-       PRINT_STATS_LE32("beacon_energy_b", general->beacon_energy_b);
-       PRINT_STATS_LE32("beacon_energy_c", general->beacon_energy_c);
-       PRINT_STATS_LE32("num_bt_kills", general->num_bt_kills);
-       PRINT_STATS_LE32("mac_id", general->mac_id);
-       PRINT_STATS_LE32("directed_data_mpdu", general->directed_data_mpdu);
+       PRINT_STATS_LE32(general, bogus_cts);
+       PRINT_STATS_LE32(general, bogus_ack);
+       PRINT_STATS_LE32(general, non_bssid_frames);
+       PRINT_STATS_LE32(general, filtered_frames);
+       PRINT_STATS_LE32(general, non_channel_beacons);
+       PRINT_STATS_LE32(general, channel_beacons);
+       PRINT_STATS_LE32(general, num_missed_bcon);
+       PRINT_STATS_LE32(general, adc_rx_saturation_time);
+       PRINT_STATS_LE32(general, ina_detection_search_time);
+       PRINT_STATS_LE32(general, beacon_silence_rssi_a);
+       PRINT_STATS_LE32(general, beacon_silence_rssi_b);
+       PRINT_STATS_LE32(general, beacon_silence_rssi_c);
+       PRINT_STATS_LE32(general, interference_data_flag);
+       PRINT_STATS_LE32(general, channel_load);
+       PRINT_STATS_LE32(general, dsp_false_alarms);
+       PRINT_STATS_LE32(general, beacon_rssi_a);
+       PRINT_STATS_LE32(general, beacon_rssi_b);
+       PRINT_STATS_LE32(general, beacon_rssi_c);
+       PRINT_STATS_LE32(general, beacon_energy_a);
+       PRINT_STATS_LE32(general, beacon_energy_b);
+       PRINT_STATS_LE32(general, beacon_energy_c);
+       PRINT_STATS_LE32(general, num_bt_kills);
+       PRINT_STATS_LE32(general, mac_id);
+       PRINT_STATS_LE32(general, directed_data_mpdu);
 
        pos += scnprintf(buf + pos, bufsz - pos, fmt_header,
                         "Statistics_Rx - HT");
-       PRINT_STATS_LE32("plcp_err", ht->plcp_err);
-       PRINT_STATS_LE32("overrun_err", ht->overrun_err);
-       PRINT_STATS_LE32("early_overrun_err", ht->early_overrun_err);
-       PRINT_STATS_LE32("crc32_good", ht->crc32_good);
-       PRINT_STATS_LE32("crc32_err", ht->crc32_err);
-       PRINT_STATS_LE32("mh_format_err", ht->mh_format_err);
-       PRINT_STATS_LE32("agg_crc32_good", ht->agg_crc32_good);
-       PRINT_STATS_LE32("agg_mpdu_cnt", ht->agg_mpdu_cnt);
-       PRINT_STATS_LE32("agg_cnt", ht->agg_cnt);
-       PRINT_STATS_LE32("unsupport_mcs", ht->unsupport_mcs);
+       PRINT_STATS_LE32(ht, plcp_err);
+       PRINT_STATS_LE32(ht, overrun_err);
+       PRINT_STATS_LE32(ht, early_overrun_err);
+       PRINT_STATS_LE32(ht, crc32_good);
+       PRINT_STATS_LE32(ht, crc32_err);
+       PRINT_STATS_LE32(ht, mh_format_err);
+       PRINT_STATS_LE32(ht, agg_crc32_good);
+       PRINT_STATS_LE32(ht, agg_mpdu_cnt);
+       PRINT_STATS_LE32(ht, agg_cnt);
+       PRINT_STATS_LE32(ht, unsupport_mcs);
 
        mutex_unlock(&mvm->mutex);
 
index bda3a3691f20258dbab0a6e16caa7c2bb1212d34..928168b183467177a5b7b32b17133eb75f5d89c4 100644 (file)
@@ -131,7 +131,7 @@ struct mvm_statistics_rx_phy {
        __le32 sfd_timeout;
        __le32 fina_timeout;
        __le32 unresponded_rts;
-       __le32 rxe_frame_limit_overrun;
+       __le32 rxe_frame_lmt_overrun;
        __le32 sent_ack_cnt;
        __le32 sent_cts_cnt;
        __le32 sent_ba_rsp_cnt;