iwlwifi: remove dump_regs() from transport ops
authorJohannes Berg <johannes.berg@intel.com>
Wed, 11 Apr 2018 14:17:00 +0000 (16:17 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 31 Aug 2018 08:38:25 +0000 (11:38 +0300)
This is used only within PCIe, and there's no reason to go through
the transport methods for a function call within PCIe itself.
Remove the dump_regs() method and call the function directly.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/iwl-trans.h
drivers/net/wireless/intel/iwlwifi/pcie/internal.h
drivers/net/wireless/intel/iwlwifi/pcie/trans.c
drivers/net/wireless/intel/iwlwifi/pcie/tx.c

index 0b8cf7f3af93304116152bf9a6b9a5273507226d..dbac9ac80ce9f86429ef59fa87684c11d6951f05 100644 (file)
@@ -539,9 +539,6 @@ struct iwl_trans_rxq_dma_data {
  * @dump_data: return a vmalloc'ed buffer with debug data, maybe containing last
  *     TX'ed commands and similar. The buffer will be vfree'd by the caller.
  *     Note that the transport must fill in the proper file headers.
- * @dump_regs: dump using IWL_ERR configuration space and memory mapped
- *     registers of the device to diagnose failure, e.g., when HW becomes
- *     inaccessible.
  */
 struct iwl_trans_ops {
 
@@ -612,8 +609,6 @@ struct iwl_trans_ops {
        struct iwl_trans_dump_data *(*dump_data)(struct iwl_trans *trans,
                                                 const struct iwl_fw_dbg_trigger_tlv
                                                 *trigger);
-
-       void (*dump_regs)(struct iwl_trans *trans);
 };
 
 /**
@@ -898,12 +893,6 @@ iwl_trans_dump_data(struct iwl_trans *trans,
        return trans->ops->dump_data(trans, trigger);
 }
 
-static inline void iwl_trans_dump_regs(struct iwl_trans *trans)
-{
-       if (trans->ops->dump_regs)
-               trans->ops->dump_regs(trans);
-}
-
 static inline struct iwl_device_cmd *
 iwl_trans_alloc_tx_cmd(struct iwl_trans *trans)
 {
index cb43b194dc0579991ee695b5ae4ec710c4a895c2..74442189d6399b69013c70badd08bc93c3011235 100644 (file)
@@ -988,6 +988,7 @@ static inline void __iwl_trans_pcie_set_bit(struct iwl_trans *trans,
 }
 
 void iwl_trans_pcie_rf_kill(struct iwl_trans *trans, bool state);
+void iwl_trans_pcie_dump_regs(struct iwl_trans *trans);
 
 #ifdef CONFIG_IWLWIFI_DEBUGFS
 int iwl_trans_pcie_dbgfs_register(struct iwl_trans *trans);
index 7d319b6863feb2e14e8702907603c3f13b43de53..7cc438f31154d687d394b2357cd895e9fe910b60 100644 (file)
@@ -92,7 +92,7 @@
 #define IWL_FW_MEM_EXTENDED_START      0x40000
 #define IWL_FW_MEM_EXTENDED_END                0x57FFF
 
-static void iwl_trans_pcie_dump_regs(struct iwl_trans *trans)
+void iwl_trans_pcie_dump_regs(struct iwl_trans *trans)
 {
 #define PCI_DUMP_SIZE  64
 #define PREFIX_LEN     32
@@ -3175,7 +3175,6 @@ static void iwl_trans_pcie_resume(struct iwl_trans *trans)
        .ref = iwl_trans_pcie_ref,                                      \
        .unref = iwl_trans_pcie_unref,                                  \
        .dump_data = iwl_trans_pcie_dump_data,                          \
-       .dump_regs = iwl_trans_pcie_dump_regs,                          \
        .d3_suspend = iwl_trans_pcie_d3_suspend,                        \
        .d3_resume = iwl_trans_pcie_d3_resume
 
index da8e0e7c78443ebfcacd95d60b6a264998f0637f..debff193016e88bcd9c95c2e6fcaa24b9f125930 100644 (file)
@@ -1912,7 +1912,7 @@ static int iwl_pcie_send_hcmd_sync(struct iwl_trans *trans,
        }
 
        if (test_bit(STATUS_FW_ERROR, &trans->status)) {
-               iwl_trans_dump_regs(trans);
+               iwl_trans_pcie_dump_regs(trans);
                IWL_ERR(trans, "FW error in SYNC CMD %s\n",
                        iwl_get_cmd_string(trans, cmd->id));
                dump_stack();