diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2011-09-20 18:37:23 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-21 16:19:42 -0400 |
commit | 247c61d625154e18a105d663281c52376a882762 (patch) | |
tree | ec06a3824fda8a119cef3f7338826b4d25eee656 /drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h | |
parent | 390808db4ab5c658dc1eb8078d82027ce7d0ea78 (diff) |
iwlagn: remove the callback in host commands
Before this patch, the upper layer could register a callback for each
host command. This mechanism allowed the upper layer to have
different callbacks for the same command ID. In fact, it wasn't used
and the rx_handlers is enough: same callback for all the command with
a specific command ID.
The iwl_send_add_station needs the access the command that was sent
while handling the response (regardless if the command was sent in
SYNC or ASYNC mode). So now, all the handlers receive the host
command that was sent. This implies a change in the handler signature.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h index 49cd5a768280..0e7d915b547f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h +++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h | |||
@@ -118,16 +118,6 @@ struct iwl_dma_ptr { | |||
118 | struct iwl_cmd_meta { | 118 | struct iwl_cmd_meta { |
119 | /* only for SYNC commands, iff the reply skb is wanted */ | 119 | /* only for SYNC commands, iff the reply skb is wanted */ |
120 | struct iwl_host_cmd *source; | 120 | struct iwl_host_cmd *source; |
121 | /* | ||
122 | * only for ASYNC commands | ||
123 | * (which is somewhat stupid -- look at iwl-sta.c for instance | ||
124 | * which duplicates a bunch of code because the callback isn't | ||
125 | * invoked for SYNC commands, if it were and its result passed | ||
126 | * through it would be simpler...) | ||
127 | */ | ||
128 | void (*callback)(struct iwl_shared *shrd, | ||
129 | struct iwl_device_cmd *cmd, | ||
130 | struct iwl_rx_packet *pkt); | ||
131 | 121 | ||
132 | u32 flags; | 122 | u32 flags; |
133 | 123 | ||
@@ -288,7 +278,7 @@ int iwl_trans_pcie_send_cmd(struct iwl_trans *trans, struct iwl_host_cmd *cmd); | |||
288 | int __must_check iwl_trans_pcie_send_cmd_pdu(struct iwl_trans *trans, u8 id, | 278 | int __must_check iwl_trans_pcie_send_cmd_pdu(struct iwl_trans *trans, u8 id, |
289 | u32 flags, u16 len, const void *data); | 279 | u32 flags, u16 len, const void *data); |
290 | void iwl_tx_cmd_complete(struct iwl_trans *trans, | 280 | void iwl_tx_cmd_complete(struct iwl_trans *trans, |
291 | struct iwl_rx_mem_buffer *rxb); | 281 | struct iwl_rx_mem_buffer *rxb, int handler_status); |
292 | void iwl_trans_txq_update_byte_cnt_tbl(struct iwl_trans *trans, | 282 | void iwl_trans_txq_update_byte_cnt_tbl(struct iwl_trans *trans, |
293 | struct iwl_tx_queue *txq, | 283 | struct iwl_tx_queue *txq, |
294 | u16 byte_cnt); | 284 | u16 byte_cnt); |