aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWinkler, Tomas <tomas.winkler@intel.com>2008-12-18 21:37:34 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-01-29 15:59:18 -0500
commitc2d79b488a33a77d337092c967ce50614edc5d25 (patch)
tree8cc6017c2cc01fb1cfda6d9f9de5bfcf23ed30bd
parent15b1687cb4f45b87ddbe4dfc7759ff5bb69497d2 (diff)
iwlwifi: use iwl_cmd instead of iwl3945_cmd
This patch makes use of iwl_cmd instead of iwl3945_cmd and related structures which were just the same. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945-led.c4
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.c22
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.h61
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c54
5 files changed, 44 insertions, 99 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945-led.c b/drivers/net/wireless/iwlwifi/iwl-3945-led.c
index 958e705ec336..10e68d64e6c7 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945-led.c
+++ b/drivers/net/wireless/iwlwifi/iwl-3945-led.c
@@ -68,7 +68,7 @@ static const struct {
68#define IWL_SOLID_BLINK_IDX (ARRAY_SIZE(blink_tbl) - 1) 68#define IWL_SOLID_BLINK_IDX (ARRAY_SIZE(blink_tbl) - 1)
69 69
70static int iwl3945_led_cmd_callback(struct iwl_priv *priv, 70static int iwl3945_led_cmd_callback(struct iwl_priv *priv,
71 struct iwl3945_cmd *cmd, 71 struct iwl_cmd *cmd,
72 struct sk_buff *skb) 72 struct sk_buff *skb)
73{ 73{
74 return 1; 74 return 1;
@@ -83,7 +83,7 @@ static inline int iwl3945_brightness_to_idx(enum led_brightness brightness)
83static int iwl_send_led_cmd(struct iwl_priv *priv, 83static int iwl_send_led_cmd(struct iwl_priv *priv,
84 struct iwl_led_cmd *led_cmd) 84 struct iwl_led_cmd *led_cmd)
85{ 85{
86 struct iwl3945_host_cmd cmd = { 86 struct iwl_host_cmd cmd = {
87 .id = REPLY_LEDS_CMD, 87 .id = REPLY_LEDS_CMD,
88 .len = sizeof(struct iwl_led_cmd), 88 .len = sizeof(struct iwl_led_cmd),
89 .data = led_cmd, 89 .data = led_cmd,
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c
index 8cf40bcd6a05..422de88f128e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.c
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.c
@@ -826,8 +826,7 @@ u8 iwl3945_hw_find_station(struct iwl_priv *priv, const u8 *addr)
826 * iwl3945_hw_build_tx_cmd_rate - Add rate portion to TX_CMD: 826 * iwl3945_hw_build_tx_cmd_rate - Add rate portion to TX_CMD:
827 * 827 *
828*/ 828*/
829void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv, 829void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv, struct iwl_cmd *cmd,
830 struct iwl3945_cmd *cmd,
831 struct ieee80211_tx_info *info, 830 struct ieee80211_tx_info *info,
832 struct ieee80211_hdr *hdr, int sta_id, int tx_id) 831 struct ieee80211_hdr *hdr, int sta_id, int tx_id)
833{ 832{
@@ -839,9 +838,10 @@ void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv,
839 u8 data_retry_limit; 838 u8 data_retry_limit;
840 __le32 tx_flags; 839 __le32 tx_flags;
841 __le16 fc = hdr->frame_control; 840 __le16 fc = hdr->frame_control;
841 struct iwl3945_tx_cmd *tx = (struct iwl3945_tx_cmd *)cmd->cmd.payload;
842 842
843 rate = iwl3945_rates[rate_index].plcp; 843 rate = iwl3945_rates[rate_index].plcp;
844 tx_flags = cmd->cmd.tx.tx_flags; 844 tx_flags = tx->tx_flags;
845 845
846 /* We need to figure out how to get the sta->supp_rates while 846 /* We need to figure out how to get the sta->supp_rates while
847 * in this running context */ 847 * in this running context */
@@ -878,22 +878,22 @@ void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv,
878 } 878 }
879 } 879 }
880 880
881 cmd->cmd.tx.rts_retry_limit = rts_retry_limit; 881 tx->rts_retry_limit = rts_retry_limit;
882 cmd->cmd.tx.data_retry_limit = data_retry_limit; 882 tx->data_retry_limit = data_retry_limit;
883 cmd->cmd.tx.rate = rate; 883 tx->rate = rate;
884 cmd->cmd.tx.tx_flags = tx_flags; 884 tx->tx_flags = tx_flags;
885 885
886 /* OFDM */ 886 /* OFDM */
887 cmd->cmd.tx.supp_rates[0] = 887 tx->supp_rates[0] =
888 ((rate_mask & IWL_OFDM_RATES_MASK) >> IWL_FIRST_OFDM_RATE) & 0xFF; 888 ((rate_mask & IWL_OFDM_RATES_MASK) >> IWL_FIRST_OFDM_RATE) & 0xFF;
889 889
890 /* CCK */ 890 /* CCK */
891 cmd->cmd.tx.supp_rates[1] = (rate_mask & 0xF); 891 tx->supp_rates[1] = (rate_mask & 0xF);
892 892
893 IWL_DEBUG_RATE("Tx sta id: %d, rate: %d (plcp), flags: 0x%4X " 893 IWL_DEBUG_RATE("Tx sta id: %d, rate: %d (plcp), flags: 0x%4X "
894 "cck/ofdm mask: 0x%x/0x%x\n", sta_id, 894 "cck/ofdm mask: 0x%x/0x%x\n", sta_id,
895 cmd->cmd.tx.rate, le32_to_cpu(cmd->cmd.tx.tx_flags), 895 tx->rate, le32_to_cpu(tx->tx_flags),
896 cmd->cmd.tx.supp_rates[1], cmd->cmd.tx.supp_rates[0]); 896 tx->supp_rates[1], tx->supp_rates[0]);
897} 897}
898 898
899u8 iwl3945_sync_sta(struct iwl_priv *priv, int sta_id, u16 tx_rate, u8 flags) 899u8 iwl3945_sync_sta(struct iwl_priv *priv, int sta_id, u16 tx_rate, u8 flags)
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h
index 63bf832ef762..18424a308d12 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.h
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.h
@@ -147,62 +147,6 @@ struct iwl3945_frame {
147#define SN_TO_SEQ(ssn) (((ssn) << 4) & IEEE80211_SCTL_SEQ) 147#define SN_TO_SEQ(ssn) (((ssn) << 4) & IEEE80211_SCTL_SEQ)
148#define MAX_SN ((IEEE80211_SCTL_SEQ) >> 4) 148#define MAX_SN ((IEEE80211_SCTL_SEQ) >> 4)
149 149
150struct iwl3945_cmd;
151struct iwl_priv;
152
153struct iwl3945_cmd_meta {
154 struct iwl3945_cmd_meta *source;
155 union {
156 struct sk_buff *skb;
157 int (*callback)(struct iwl_priv *priv,
158 struct iwl3945_cmd *cmd, struct sk_buff *skb);
159 } __attribute__ ((packed)) u;
160
161 /* The CMD_SIZE_HUGE flag bit indicates that the command
162 * structure is stored at the end of the shared queue memory. */
163 u32 flags;
164
165} __attribute__ ((packed));
166
167/**
168 * struct iwl3945_cmd
169 *
170 * For allocation of the command and tx queues, this establishes the overall
171 * size of the largest command we send to uCode, except for a scan command
172 * (which is relatively huge; space is allocated separately).
173 */
174struct iwl3945_cmd {
175 struct iwl3945_cmd_meta meta;
176 struct iwl_cmd_header hdr;
177 union {
178 struct iwl3945_addsta_cmd addsta;
179 struct iwl_led_cmd led;
180 u32 flags;
181 u8 val8;
182 u16 val16;
183 u32 val32;
184 struct iwl_bt_cmd bt;
185 struct iwl_rxon_time_cmd rxon_time;
186 struct iwl_powertable_cmd powertable;
187 struct iwl_qosparam_cmd qosparam;
188 struct iwl3945_tx_cmd tx;
189 struct iwl3945_tx_beacon_cmd tx_beacon;
190 struct iwl3945_rxon_assoc_cmd rxon_assoc;
191 u8 *indirect;
192 u8 payload[360];
193 } __attribute__ ((packed)) cmd;
194} __attribute__ ((packed));
195
196struct iwl3945_host_cmd {
197 u8 id;
198 u16 len;
199 struct iwl3945_cmd_meta meta;
200 const void *data;
201};
202
203#define TFD39_MAX_PAYLOAD_SIZE (sizeof(struct iwl3945_cmd) - \
204 sizeof(struct iwl3945_cmd_meta))
205
206/* 150/*
207 * RX related structures and functions 151 * RX related structures and functions
208 */ 152 */
@@ -288,7 +232,7 @@ extern void iwl3945_tx_queue_free(struct iwl_priv *priv, struct iwl3945_tx_queue
288extern int iwl3945_send_cmd_pdu(struct iwl_priv *priv, u8 id, u16 len, 232extern int iwl3945_send_cmd_pdu(struct iwl_priv *priv, u8 id, u16 len,
289 const void *data); 233 const void *data);
290extern int __must_check iwl3945_send_cmd(struct iwl_priv *priv, 234extern int __must_check iwl3945_send_cmd(struct iwl_priv *priv,
291 struct iwl3945_host_cmd *cmd); 235 struct iwl_host_cmd *cmd);
292extern unsigned int iwl3945_fill_beacon_frame(struct iwl_priv *priv, 236extern unsigned int iwl3945_fill_beacon_frame(struct iwl_priv *priv,
293 struct ieee80211_hdr *hdr,int left); 237 struct ieee80211_hdr *hdr,int left);
294extern int iwl3945_rx_queue_update_write_ptr(struct iwl_priv *priv, 238extern int iwl3945_rx_queue_update_write_ptr(struct iwl_priv *priv,
@@ -340,8 +284,7 @@ extern int iwl3945_hw_tx_queue_init(struct iwl_priv *priv,
340extern unsigned int iwl3945_hw_get_beacon_cmd(struct iwl_priv *priv, 284extern unsigned int iwl3945_hw_get_beacon_cmd(struct iwl_priv *priv,
341 struct iwl3945_frame *frame, u8 rate); 285 struct iwl3945_frame *frame, u8 rate);
342extern int iwl3945_hw_get_rx_read(struct iwl_priv *priv); 286extern int iwl3945_hw_get_rx_read(struct iwl_priv *priv);
343extern void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv, 287void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv, struct iwl_cmd *cmd,
344 struct iwl3945_cmd *cmd,
345 struct ieee80211_tx_info *info, 288 struct ieee80211_tx_info *info,
346 struct ieee80211_hdr *hdr, 289 struct ieee80211_hdr *hdr,
347 int sta_id, int tx_id); 290 int sta_id, int tx_id);
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index 5cc6c5e1865c..6a07a686f85c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -240,7 +240,7 @@ struct iwl_channel_info {
240struct iwl3945_tx_queue { 240struct iwl3945_tx_queue {
241 struct iwl_queue q; 241 struct iwl_queue q;
242 struct iwl3945_tfd_frame *bd; 242 struct iwl3945_tfd_frame *bd;
243 struct iwl3945_cmd *cmd; 243 struct iwl_cmd *cmd;
244 dma_addr_t dma_addr_cmd; 244 dma_addr_t dma_addr_cmd;
245 struct iwl3945_tx_info *txb; 245 struct iwl3945_tx_info *txb;
246 int need_update; 246 int need_update;
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 52c9075b1889..0af710b8fb78 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -232,7 +232,7 @@ int iwl3945_tx_queue_init(struct iwl_priv *priv,
232 * For data Tx queues (all other queues), no super-size command 232 * For data Tx queues (all other queues), no super-size command
233 * space is needed. 233 * space is needed.
234 */ 234 */
235 len = sizeof(struct iwl3945_cmd) * slots_num; 235 len = sizeof(struct iwl_cmd) * slots_num;
236 if (txq_id == IWL_CMD_QUEUE_NUM) 236 if (txq_id == IWL_CMD_QUEUE_NUM)
237 len += IWL_MAX_SCAN_SIZE; 237 len += IWL_MAX_SCAN_SIZE;
238 txq->cmd = pci_alloc_consistent(dev, len, &txq->dma_addr_cmd); 238 txq->cmd = pci_alloc_consistent(dev, len, &txq->dma_addr_cmd);
@@ -283,7 +283,7 @@ void iwl3945_tx_queue_free(struct iwl_priv *priv, struct iwl3945_tx_queue *txq)
283 q->read_ptr = iwl_queue_inc_wrap(q->read_ptr, q->n_bd)) 283 q->read_ptr = iwl_queue_inc_wrap(q->read_ptr, q->n_bd))
284 iwl3945_hw_txq_free_tfd(priv, txq); 284 iwl3945_hw_txq_free_tfd(priv, txq);
285 285
286 len = sizeof(struct iwl3945_cmd) * q->n_window; 286 len = sizeof(struct iwl_cmd) * q->n_window;
287 if (q->id == IWL_CMD_QUEUE_NUM) 287 if (q->id == IWL_CMD_QUEUE_NUM)
288 len += IWL_MAX_SCAN_SIZE; 288 len += IWL_MAX_SCAN_SIZE;
289 289
@@ -500,13 +500,13 @@ static inline int iwl3945_is_ready_rf(struct iwl_priv *priv)
500 * failed. On success, it turns the index (> 0) of command in the 500 * failed. On success, it turns the index (> 0) of command in the
501 * command queue. 501 * command queue.
502 */ 502 */
503static int iwl3945_enqueue_hcmd(struct iwl_priv *priv, struct iwl3945_host_cmd *cmd) 503static int iwl3945_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
504{ 504{
505 struct iwl3945_tx_queue *txq = &priv->txq39[IWL_CMD_QUEUE_NUM]; 505 struct iwl3945_tx_queue *txq = &priv->txq39[IWL_CMD_QUEUE_NUM];
506 struct iwl_queue *q = &txq->q; 506 struct iwl_queue *q = &txq->q;
507 struct iwl3945_tfd_frame *tfd; 507 struct iwl3945_tfd_frame *tfd;
508 u32 *control_flags; 508 u32 *control_flags;
509 struct iwl3945_cmd *out_cmd; 509 struct iwl_cmd *out_cmd;
510 u32 idx; 510 u32 idx;
511 u16 fix_size = (u16)(cmd->len + sizeof(out_cmd->hdr)); 511 u16 fix_size = (u16)(cmd->len + sizeof(out_cmd->hdr));
512 dma_addr_t phys_addr; 512 dma_addr_t phys_addr;
@@ -518,7 +518,7 @@ static int iwl3945_enqueue_hcmd(struct iwl_priv *priv, struct iwl3945_host_cmd *
518 /* If any of the command structures end up being larger than 518 /* If any of the command structures end up being larger than
519 * the TFD_MAX_PAYLOAD_SIZE, and it sent as a 'small' command then 519 * the TFD_MAX_PAYLOAD_SIZE, and it sent as a 'small' command then
520 * we will need to increase the size of the TFD entries */ 520 * we will need to increase the size of the TFD entries */
521 BUG_ON((fix_size > TFD39_MAX_PAYLOAD_SIZE) && 521 BUG_ON((fix_size > TFD_MAX_PAYLOAD_SIZE) &&
522 !(cmd->meta.flags & CMD_SIZE_HUGE)); 522 !(cmd->meta.flags & CMD_SIZE_HUGE));
523 523
524 524
@@ -556,7 +556,7 @@ static int iwl3945_enqueue_hcmd(struct iwl_priv *priv, struct iwl3945_host_cmd *
556 out_cmd->hdr.sequence |= SEQ_HUGE_FRAME; 556 out_cmd->hdr.sequence |= SEQ_HUGE_FRAME;
557 557
558 phys_addr = txq->dma_addr_cmd + sizeof(txq->cmd[0]) * idx + 558 phys_addr = txq->dma_addr_cmd + sizeof(txq->cmd[0]) * idx +
559 offsetof(struct iwl3945_cmd, hdr); 559 offsetof(struct iwl_cmd, hdr);
560 iwl3945_hw_txq_attach_buf_to_tfd(priv, tfd, phys_addr, fix_size); 560 iwl3945_hw_txq_attach_buf_to_tfd(priv, tfd, phys_addr, fix_size);
561 561
562 pad = U32_PAD(cmd->len); 562 pad = U32_PAD(cmd->len);
@@ -579,7 +579,8 @@ static int iwl3945_enqueue_hcmd(struct iwl_priv *priv, struct iwl3945_host_cmd *
579 return ret ? ret : idx; 579 return ret ? ret : idx;
580} 580}
581 581
582static int iwl3945_send_cmd_async(struct iwl_priv *priv, struct iwl3945_host_cmd *cmd) 582static int iwl3945_send_cmd_async(struct iwl_priv *priv,
583 struct iwl_host_cmd *cmd)
583{ 584{
584 int ret; 585 int ret;
585 586
@@ -604,7 +605,8 @@ static int iwl3945_send_cmd_async(struct iwl_priv *priv, struct iwl3945_host_cmd
604 return 0; 605 return 0;
605} 606}
606 607
607static int iwl3945_send_cmd_sync(struct iwl_priv *priv, struct iwl3945_host_cmd *cmd) 608static int iwl3945_send_cmd_sync(struct iwl_priv *priv,
609 struct iwl_host_cmd *cmd)
608{ 610{
609 int cmd_idx; 611 int cmd_idx;
610 int ret; 612 int ret;
@@ -675,7 +677,7 @@ static int iwl3945_send_cmd_sync(struct iwl_priv *priv, struct iwl3945_host_cmd
675 677
676cancel: 678cancel:
677 if (cmd->meta.flags & CMD_WANT_SKB) { 679 if (cmd->meta.flags & CMD_WANT_SKB) {
678 struct iwl3945_cmd *qcmd; 680 struct iwl_cmd *qcmd;
679 681
680 /* Cancel the CMD_WANT_SKB flag for the cmd in the 682 /* Cancel the CMD_WANT_SKB flag for the cmd in the
681 * TX cmd queue. Otherwise in case the cmd comes 683 * TX cmd queue. Otherwise in case the cmd comes
@@ -694,7 +696,7 @@ out:
694 return ret; 696 return ret;
695} 697}
696 698
697int iwl3945_send_cmd(struct iwl_priv *priv, struct iwl3945_host_cmd *cmd) 699int iwl3945_send_cmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
698{ 700{
699 if (cmd->meta.flags & CMD_ASYNC) 701 if (cmd->meta.flags & CMD_ASYNC)
700 return iwl3945_send_cmd_async(priv, cmd); 702 return iwl3945_send_cmd_async(priv, cmd);
@@ -704,7 +706,7 @@ int iwl3945_send_cmd(struct iwl_priv *priv, struct iwl3945_host_cmd *cmd)
704 706
705int iwl3945_send_cmd_pdu(struct iwl_priv *priv, u8 id, u16 len, const void *data) 707int iwl3945_send_cmd_pdu(struct iwl_priv *priv, u8 id, u16 len, const void *data)
706{ 708{
707 struct iwl3945_host_cmd cmd = { 709 struct iwl_host_cmd cmd = {
708 .id = id, 710 .id = id,
709 .len = len, 711 .len = len,
710 .data = data, 712 .data = data,
@@ -715,7 +717,7 @@ int iwl3945_send_cmd_pdu(struct iwl_priv *priv, u8 id, u16 len, const void *data
715 717
716static int __must_check iwl3945_send_cmd_u32(struct iwl_priv *priv, u8 id, u32 val) 718static int __must_check iwl3945_send_cmd_u32(struct iwl_priv *priv, u8 id, u32 val)
717{ 719{
718 struct iwl3945_host_cmd cmd = { 720 struct iwl_host_cmd cmd = {
719 .id = id, 721 .id = id,
720 .len = sizeof(val), 722 .len = sizeof(val),
721 .data = &val, 723 .data = &val,
@@ -894,7 +896,7 @@ static int iwl3945_send_rxon_assoc(struct iwl_priv *priv)
894 int rc = 0; 896 int rc = 0;
895 struct iwl_rx_packet *res = NULL; 897 struct iwl_rx_packet *res = NULL;
896 struct iwl3945_rxon_assoc_cmd rxon_assoc; 898 struct iwl3945_rxon_assoc_cmd rxon_assoc;
897 struct iwl3945_host_cmd cmd = { 899 struct iwl_host_cmd cmd = {
898 .id = REPLY_RXON_ASSOC, 900 .id = REPLY_RXON_ASSOC,
899 .len = sizeof(rxon_assoc), 901 .len = sizeof(rxon_assoc),
900 .meta.flags = CMD_WANT_SKB, 902 .meta.flags = CMD_WANT_SKB,
@@ -1077,7 +1079,7 @@ static int iwl3945_send_scan_abort(struct iwl_priv *priv)
1077{ 1079{
1078 int rc = 0; 1080 int rc = 0;
1079 struct iwl_rx_packet *res; 1081 struct iwl_rx_packet *res;
1080 struct iwl3945_host_cmd cmd = { 1082 struct iwl_host_cmd cmd = {
1081 .id = REPLY_SCAN_ABORT_CMD, 1083 .id = REPLY_SCAN_ABORT_CMD,
1082 .meta.flags = CMD_WANT_SKB, 1084 .meta.flags = CMD_WANT_SKB,
1083 }; 1085 };
@@ -1115,7 +1117,7 @@ static int iwl3945_send_scan_abort(struct iwl_priv *priv)
1115} 1117}
1116 1118
1117static int iwl3945_card_state_sync_callback(struct iwl_priv *priv, 1119static int iwl3945_card_state_sync_callback(struct iwl_priv *priv,
1118 struct iwl3945_cmd *cmd, 1120 struct iwl_cmd *cmd,
1119 struct sk_buff *skb) 1121 struct sk_buff *skb)
1120{ 1122{
1121 return 1; 1123 return 1;
@@ -1133,7 +1135,7 @@ static int iwl3945_card_state_sync_callback(struct iwl_priv *priv,
1133 */ 1135 */
1134static int iwl3945_send_card_state(struct iwl_priv *priv, u32 flags, u8 meta_flag) 1136static int iwl3945_send_card_state(struct iwl_priv *priv, u32 flags, u8 meta_flag)
1135{ 1137{
1136 struct iwl3945_host_cmd cmd = { 1138 struct iwl_host_cmd cmd = {
1137 .id = REPLY_CARD_STATE_CMD, 1139 .id = REPLY_CARD_STATE_CMD,
1138 .len = sizeof(u32), 1140 .len = sizeof(u32),
1139 .data = &flags, 1141 .data = &flags,
@@ -1147,7 +1149,7 @@ static int iwl3945_send_card_state(struct iwl_priv *priv, u32 flags, u8 meta_fla
1147} 1149}
1148 1150
1149static int iwl3945_add_sta_sync_callback(struct iwl_priv *priv, 1151static int iwl3945_add_sta_sync_callback(struct iwl_priv *priv,
1150 struct iwl3945_cmd *cmd, struct sk_buff *skb) 1152 struct iwl_cmd *cmd, struct sk_buff *skb)
1151{ 1153{
1152 struct iwl_rx_packet *res = NULL; 1154 struct iwl_rx_packet *res = NULL;
1153 1155
@@ -1179,7 +1181,7 @@ int iwl3945_send_add_station(struct iwl_priv *priv,
1179{ 1181{
1180 struct iwl_rx_packet *res = NULL; 1182 struct iwl_rx_packet *res = NULL;
1181 int rc = 0; 1183 int rc = 0;
1182 struct iwl3945_host_cmd cmd = { 1184 struct iwl_host_cmd cmd = {
1183 .id = REPLY_ADD_STA, 1185 .id = REPLY_ADD_STA,
1184 .len = sizeof(struct iwl3945_addsta_cmd), 1186 .len = sizeof(struct iwl3945_addsta_cmd),
1185 .meta.flags = flags, 1187 .meta.flags = flags,
@@ -2202,7 +2204,7 @@ static int iwl3945_set_mode(struct iwl_priv *priv, int mode)
2202 2204
2203static void iwl3945_build_tx_cmd_hwcrypto(struct iwl_priv *priv, 2205static void iwl3945_build_tx_cmd_hwcrypto(struct iwl_priv *priv,
2204 struct ieee80211_tx_info *info, 2206 struct ieee80211_tx_info *info,
2205 struct iwl3945_cmd *cmd, 2207 struct iwl_cmd *cmd,
2206 struct sk_buff *skb_frag, 2208 struct sk_buff *skb_frag,
2207 int last_frag) 2209 int last_frag)
2208{ 2210{
@@ -2251,7 +2253,7 @@ static void iwl3945_build_tx_cmd_hwcrypto(struct iwl_priv *priv,
2251 * handle build REPLY_TX command notification. 2253 * handle build REPLY_TX command notification.
2252 */ 2254 */
2253static void iwl3945_build_tx_cmd_basic(struct iwl_priv *priv, 2255static void iwl3945_build_tx_cmd_basic(struct iwl_priv *priv,
2254 struct iwl3945_cmd *cmd, 2256 struct iwl_cmd *cmd,
2255 struct ieee80211_tx_info *info, 2257 struct ieee80211_tx_info *info,
2256 struct ieee80211_hdr *hdr, 2258 struct ieee80211_hdr *hdr,
2257 int is_unicast, u8 std_id) 2259 int is_unicast, u8 std_id)
@@ -2386,7 +2388,7 @@ static int iwl3945_tx_skb(struct iwl_priv *priv, struct sk_buff *skb)
2386 struct iwl_queue *q = NULL; 2388 struct iwl_queue *q = NULL;
2387 dma_addr_t phys_addr; 2389 dma_addr_t phys_addr;
2388 dma_addr_t txcmd_phys; 2390 dma_addr_t txcmd_phys;
2389 struct iwl3945_cmd *out_cmd = NULL; 2391 struct iwl_cmd *out_cmd = NULL;
2390 u16 len, idx, len_org, hdr_len; 2392 u16 len, idx, len_org, hdr_len;
2391 u8 id; 2393 u8 id;
2392 u8 unicast; 2394 u8 unicast;
@@ -2514,8 +2516,8 @@ static int iwl3945_tx_skb(struct iwl_priv *priv, struct sk_buff *skb)
2514 2516
2515 /* Physical address of this Tx command's header (not MAC header!), 2517 /* Physical address of this Tx command's header (not MAC header!),
2516 * within command buffer array. */ 2518 * within command buffer array. */
2517 txcmd_phys = txq->dma_addr_cmd + sizeof(struct iwl3945_cmd) * idx + 2519 txcmd_phys = txq->dma_addr_cmd + sizeof(struct iwl_cmd) * idx +
2518 offsetof(struct iwl3945_cmd, hdr); 2520 offsetof(struct iwl_cmd, hdr);
2519 2521
2520 /* Add buffer containing Tx command and MAC(!) header to TFD's 2522 /* Add buffer containing Tx command and MAC(!) header to TFD's
2521 * first entry */ 2523 * first entry */
@@ -2793,7 +2795,7 @@ static int iwl3945_get_measurement(struct iwl_priv *priv,
2793{ 2795{
2794 struct iwl_spectrum_cmd spectrum; 2796 struct iwl_spectrum_cmd spectrum;
2795 struct iwl_rx_packet *res; 2797 struct iwl_rx_packet *res;
2796 struct iwl3945_host_cmd cmd = { 2798 struct iwl_host_cmd cmd = {
2797 .id = REPLY_SPECTRUM_MEASUREMENT_CMD, 2799 .id = REPLY_SPECTRUM_MEASUREMENT_CMD,
2798 .data = (void *)&spectrum, 2800 .data = (void *)&spectrum,
2799 .meta.flags = CMD_WANT_SKB, 2801 .meta.flags = CMD_WANT_SKB,
@@ -3271,7 +3273,7 @@ static void iwl3945_tx_cmd_complete(struct iwl_priv *priv,
3271 int index = SEQ_TO_INDEX(sequence); 3273 int index = SEQ_TO_INDEX(sequence);
3272 int huge = !!(pkt->hdr.sequence & SEQ_HUGE_FRAME); 3274 int huge = !!(pkt->hdr.sequence & SEQ_HUGE_FRAME);
3273 int cmd_index; 3275 int cmd_index;
3274 struct iwl3945_cmd *cmd; 3276 struct iwl_cmd *cmd;
3275 3277
3276 BUG_ON(txq_id != IWL_CMD_QUEUE_NUM); 3278 BUG_ON(txq_id != IWL_CMD_QUEUE_NUM);
3277 3279
@@ -5974,7 +5976,7 @@ static void iwl3945_bg_request_scan(struct work_struct *data)
5974{ 5976{
5975 struct iwl_priv *priv = 5977 struct iwl_priv *priv =
5976 container_of(data, struct iwl_priv, request_scan); 5978 container_of(data, struct iwl_priv, request_scan);
5977 struct iwl3945_host_cmd cmd = { 5979 struct iwl_host_cmd cmd = {
5978 .id = REPLY_SCAN_CMD, 5980 .id = REPLY_SCAN_CMD,
5979 .len = sizeof(struct iwl3945_scan_cmd), 5981 .len = sizeof(struct iwl3945_scan_cmd),
5980 .meta.flags = CMD_SIZE_HUGE, 5982 .meta.flags = CMD_SIZE_HUGE,