aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r--drivers/net/wireless/iwlwifi/Kconfig16
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.h5
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.h5
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c17
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c18
5 files changed, 4 insertions, 57 deletions
diff --git a/drivers/net/wireless/iwlwifi/Kconfig b/drivers/net/wireless/iwlwifi/Kconfig
index 9c3fe1835a1..24c3e3ddafc 100644
--- a/drivers/net/wireless/iwlwifi/Kconfig
+++ b/drivers/net/wireless/iwlwifi/Kconfig
@@ -24,17 +24,10 @@ config IWL4965
24 say M here and read <file:Documentation/kbuild/modules.txt>. The 24 say M here and read <file:Documentation/kbuild/modules.txt>. The
25 module will be called iwl4965.ko. 25 module will be called iwl4965.ko.
26 26
27config IWL4965_QOS
28 bool "Enable Wireless QoS in iwl4965 driver"
29 depends on IWL4965
30 ---help---
31 This option will enable wireless quality of service (QoS) for the
32 iwl4965 driver.
33
34config IWL4965_HT 27config IWL4965_HT
35 bool "Enable 802.11n HT features in iwl4965 driver" 28 bool "Enable 802.11n HT features in iwl4965 driver"
36 depends on EXPERIMENTAL 29 depends on EXPERIMENTAL
37 depends on IWL4965 && IWL4965_QOS 30 depends on IWL4965
38 ---help--- 31 ---help---
39 This option enables IEEE 802.11n High Throughput features 32 This option enables IEEE 802.11n High Throughput features
40 for the iwl4965 driver. 33 for the iwl4965 driver.
@@ -104,13 +97,6 @@ config IWL3945
104 say M here and read <file:Documentation/kbuild/modules.txt>. The 97 say M here and read <file:Documentation/kbuild/modules.txt>. The
105 module will be called iwl3945.ko. 98 module will be called iwl3945.ko.
106 99
107config IWL3945_QOS
108 bool "Enable Wireless QoS in iwl3945 driver"
109 depends on IWL3945
110 ---help---
111 This option will enable wireless quality of service (QoS) for the
112 iwl3945 driver.
113
114config IWL3945_SPECTRUM_MEASUREMENT 100config IWL3945_SPECTRUM_MEASUREMENT
115 bool "Enable Spectrum Measurement in iwl3945 drivers" 101 bool "Enable Spectrum Measurement in iwl3945 drivers"
116 depends on IWL3945 102 depends on IWL3945
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h
index 1beb5b67679..393cff6f227 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.h
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.h
@@ -431,8 +431,6 @@ union iwl3945_ht_rate_supp {
431 }; 431 };
432}; 432};
433 433
434#ifdef CONFIG_IWL3945_QOS
435
436union iwl3945_qos_capabity { 434union iwl3945_qos_capabity {
437 struct { 435 struct {
438 u8 edca_count:4; /* bit 0-3 */ 436 u8 edca_count:4; /* bit 0-3 */
@@ -460,7 +458,6 @@ struct iwl3945_qos_info {
460 union iwl3945_qos_capabity qos_cap; 458 union iwl3945_qos_capabity qos_cap;
461 struct iwl3945_qosparam_cmd def_qos_parm; 459 struct iwl3945_qosparam_cmd def_qos_parm;
462}; 460};
463#endif /*CONFIG_IWL3945_QOS */
464 461
465#define STA_PS_STATUS_WAKE 0 462#define STA_PS_STATUS_WAKE 0
466#define STA_PS_STATUS_SLEEP 1 463#define STA_PS_STATUS_SLEEP 1
@@ -869,9 +866,7 @@ struct iwl3945_priv {
869 u16 assoc_capability; 866 u16 assoc_capability;
870 u8 ps_mode; 867 u8 ps_mode;
871 868
872#ifdef CONFIG_IWL3945_QOS
873 struct iwl3945_qos_info qos_data; 869 struct iwl3945_qos_info qos_data;
874#endif /*CONFIG_IWL3945_QOS */
875 870
876 struct workqueue_struct *workqueue; 871 struct workqueue_struct *workqueue;
877 872
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.h b/drivers/net/wireless/iwlwifi/iwl-4965.h
index 45cf4830568..67189ab93db 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.h
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.h
@@ -510,8 +510,6 @@ struct iwl_ht_info {
510}; 510};
511#endif /*CONFIG_IWL4965_HT */ 511#endif /*CONFIG_IWL4965_HT */
512 512
513#ifdef CONFIG_IWL4965_QOS
514
515union iwl4965_qos_capabity { 513union iwl4965_qos_capabity {
516 struct { 514 struct {
517 u8 edca_count:4; /* bit 0-3 */ 515 u8 edca_count:4; /* bit 0-3 */
@@ -539,7 +537,6 @@ struct iwl4965_qos_info {
539 union iwl4965_qos_capabity qos_cap; 537 union iwl4965_qos_capabity qos_cap;
540 struct iwl4965_qosparam_cmd def_qos_parm; 538 struct iwl4965_qosparam_cmd def_qos_parm;
541}; 539};
542#endif /*CONFIG_IWL4965_QOS */
543 540
544#define STA_PS_STATUS_WAKE 0 541#define STA_PS_STATUS_WAKE 0
545#define STA_PS_STATUS_SLEEP 1 542#define STA_PS_STATUS_SLEEP 1
@@ -1173,9 +1170,7 @@ struct iwl4965_priv {
1173 u16 assoc_capability; 1170 u16 assoc_capability;
1174 u8 ps_mode; 1171 u8 ps_mode;
1175 1172
1176#ifdef CONFIG_IWL4965_QOS
1177 struct iwl4965_qos_info qos_data; 1173 struct iwl4965_qos_info qos_data;
1178#endif /*CONFIG_IWL4965_QOS */
1179 1174
1180 struct workqueue_struct *workqueue; 1175 struct workqueue_struct *workqueue;
1181 1176
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 41b45a2778b..60e4b00d40f 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -1910,7 +1910,6 @@ static u16 iwl3945_fill_probe_req(struct iwl3945_priv *priv,
1910/* 1910/*
1911 * QoS support 1911 * QoS support
1912*/ 1912*/
1913#ifdef CONFIG_IWL3945_QOS
1914static int iwl3945_send_qos_params_command(struct iwl3945_priv *priv, 1913static int iwl3945_send_qos_params_command(struct iwl3945_priv *priv,
1915 struct iwl3945_qosparam_cmd *qos) 1914 struct iwl3945_qosparam_cmd *qos)
1916{ 1915{
@@ -2039,7 +2038,6 @@ static void iwl3945_activate_qos(struct iwl3945_priv *priv, u8 force)
2039 } 2038 }
2040} 2039}
2041 2040
2042#endif /* CONFIG_IWL3945_QOS */
2043/* 2041/*
2044 * Power management (not Tx power!) functions 2042 * Power management (not Tx power!) functions
2045 */ 2043 */
@@ -6770,9 +6768,8 @@ static void iwl3945_bg_post_associate(struct work_struct *data)
6770 6768
6771 iwl3945_sequence_reset(priv); 6769 iwl3945_sequence_reset(priv);
6772 6770
6773#ifdef CONFIG_IWL3945_QOS
6774 iwl3945_activate_qos(priv, 0); 6771 iwl3945_activate_qos(priv, 0);
6775#endif /* CONFIG_IWL3945_QOS */ 6772
6776 /* we have just associated, don't start scan too early */ 6773 /* we have just associated, don't start scan too early */
6777 priv->next_scan_jiffies = jiffies + IWL_DELAY_NEXT_SCAN; 6774 priv->next_scan_jiffies = jiffies + IWL_DELAY_NEXT_SCAN;
6778 mutex_unlock(&priv->mutex); 6775 mutex_unlock(&priv->mutex);
@@ -7417,10 +7414,8 @@ static int iwl3945_mac_conf_tx(struct ieee80211_hw *hw, int queue,
7417 const struct ieee80211_tx_queue_params *params) 7414 const struct ieee80211_tx_queue_params *params)
7418{ 7415{
7419 struct iwl3945_priv *priv = hw->priv; 7416 struct iwl3945_priv *priv = hw->priv;
7420#ifdef CONFIG_IWL3945_QOS
7421 unsigned long flags; 7417 unsigned long flags;
7422 int q; 7418 int q;
7423#endif /* CONFIG_IWL3945_QOS */
7424 7419
7425 IWL_DEBUG_MAC80211("enter\n"); 7420 IWL_DEBUG_MAC80211("enter\n");
7426 7421
@@ -7434,7 +7429,6 @@ static int iwl3945_mac_conf_tx(struct ieee80211_hw *hw, int queue,
7434 return 0; 7429 return 0;
7435 } 7430 }
7436 7431
7437#ifdef CONFIG_IWL3945_QOS
7438 if (!priv->qos_data.qos_enable) { 7432 if (!priv->qos_data.qos_enable) {
7439 priv->qos_data.qos_active = 0; 7433 priv->qos_data.qos_active = 0;
7440 IWL_DEBUG_MAC80211("leave - qos not enabled\n"); 7434 IWL_DEBUG_MAC80211("leave - qos not enabled\n");
@@ -7463,8 +7457,6 @@ static int iwl3945_mac_conf_tx(struct ieee80211_hw *hw, int queue,
7463 7457
7464 mutex_unlock(&priv->mutex); 7458 mutex_unlock(&priv->mutex);
7465 7459
7466#endif /*CONFIG_IWL3945_QOS */
7467
7468 IWL_DEBUG_MAC80211("leave\n"); 7460 IWL_DEBUG_MAC80211("leave\n");
7469 return 0; 7461 return 0;
7470} 7462}
@@ -7529,9 +7521,8 @@ static void iwl3945_mac_reset_tsf(struct ieee80211_hw *hw)
7529 mutex_lock(&priv->mutex); 7521 mutex_lock(&priv->mutex);
7530 IWL_DEBUG_MAC80211("enter\n"); 7522 IWL_DEBUG_MAC80211("enter\n");
7531 7523
7532#ifdef CONFIG_IWL3945_QOS
7533 iwl3945_reset_qos(priv); 7524 iwl3945_reset_qos(priv);
7534#endif 7525
7535 cancel_delayed_work(&priv->post_associate); 7526 cancel_delayed_work(&priv->post_associate);
7536 7527
7537 spin_lock_irqsave(&priv->lock, flags); 7528 spin_lock_irqsave(&priv->lock, flags);
@@ -7619,9 +7610,7 @@ static int iwl3945_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *sk
7619 IWL_DEBUG_MAC80211("leave\n"); 7610 IWL_DEBUG_MAC80211("leave\n");
7620 spin_unlock_irqrestore(&priv->lock, flags); 7611 spin_unlock_irqrestore(&priv->lock, flags);
7621 7612
7622#ifdef CONFIG_IWL3945_QOS
7623 iwl3945_reset_qos(priv); 7613 iwl3945_reset_qos(priv);
7624#endif
7625 7614
7626 queue_work(priv->workqueue, &priv->post_associate.work); 7615 queue_work(priv->workqueue, &priv->post_associate.work);
7627 7616
@@ -8409,7 +8398,6 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
8409 goto out_iounmap; 8398 goto out_iounmap;
8410 } 8399 }
8411 8400
8412#ifdef CONFIG_IWL3945_QOS
8413 if (iwl3945_param_qos_enable) 8401 if (iwl3945_param_qos_enable)
8414 priv->qos_data.qos_enable = 1; 8402 priv->qos_data.qos_enable = 1;
8415 8403
@@ -8417,7 +8405,6 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
8417 8405
8418 priv->qos_data.qos_active = 0; 8406 priv->qos_data.qos_active = 0;
8419 priv->qos_data.qos_cap.val = 0; 8407 priv->qos_data.qos_cap.val = 0;
8420#endif /* CONFIG_IWL3945_QOS */
8421 8408
8422 iwl3945_set_rxon_channel(priv, IEEE80211_BAND_2GHZ, 6); 8409 iwl3945_set_rxon_channel(priv, IEEE80211_BAND_2GHZ, 6);
8423 iwl3945_setup_deferred_work(priv); 8410 iwl3945_setup_deferred_work(priv);
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index d0e385aa59e..8284c94a1f0 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -2014,7 +2014,6 @@ static u16 iwl4965_fill_probe_req(struct iwl4965_priv *priv,
2014/* 2014/*
2015 * QoS support 2015 * QoS support
2016*/ 2016*/
2017#ifdef CONFIG_IWL4965_QOS
2018static int iwl4965_send_qos_params_command(struct iwl4965_priv *priv, 2017static int iwl4965_send_qos_params_command(struct iwl4965_priv *priv,
2019 struct iwl4965_qosparam_cmd *qos) 2018 struct iwl4965_qosparam_cmd *qos)
2020{ 2019{
@@ -2148,7 +2147,6 @@ static void iwl4965_activate_qos(struct iwl4965_priv *priv, u8 force)
2148 } 2147 }
2149} 2148}
2150 2149
2151#endif /* CONFIG_IWL4965_QOS */
2152/* 2150/*
2153 * Power management (not Tx power!) functions 2151 * Power management (not Tx power!) functions
2154 */ 2152 */
@@ -7200,9 +7198,8 @@ static void iwl4965_bg_post_associate(struct work_struct *data)
7200 if (priv->iw_mode == IEEE80211_IF_TYPE_IBSS) 7198 if (priv->iw_mode == IEEE80211_IF_TYPE_IBSS)
7201 priv->assoc_station_added = 1; 7199 priv->assoc_station_added = 1;
7202 7200
7203#ifdef CONFIG_IWL4965_QOS
7204 iwl4965_activate_qos(priv, 0); 7201 iwl4965_activate_qos(priv, 0);
7205#endif /* CONFIG_IWL4965_QOS */ 7202
7206 /* we have just associated, don't start scan too early */ 7203 /* we have just associated, don't start scan too early */
7207 priv->next_scan_jiffies = jiffies + IWL_DELAY_NEXT_SCAN; 7204 priv->next_scan_jiffies = jiffies + IWL_DELAY_NEXT_SCAN;
7208 mutex_unlock(&priv->mutex); 7205 mutex_unlock(&priv->mutex);
@@ -7577,9 +7574,7 @@ static void iwl4965_config_ap(struct iwl4965_priv *priv)
7577 /* restore RXON assoc */ 7574 /* restore RXON assoc */
7578 priv->staging_rxon.filter_flags |= RXON_FILTER_ASSOC_MSK; 7575 priv->staging_rxon.filter_flags |= RXON_FILTER_ASSOC_MSK;
7579 iwl4965_commit_rxon(priv); 7576 iwl4965_commit_rxon(priv);
7580#ifdef CONFIG_IWL4965_QOS
7581 iwl4965_activate_qos(priv, 1); 7577 iwl4965_activate_qos(priv, 1);
7582#endif
7583 iwl4965_rxon_add_station(priv, iwl4965_broadcast_addr, 0); 7578 iwl4965_rxon_add_station(priv, iwl4965_broadcast_addr, 0);
7584 } 7579 }
7585 iwl4965_send_beacon_cmd(priv); 7580 iwl4965_send_beacon_cmd(priv);
@@ -7893,10 +7888,8 @@ static int iwl4965_mac_conf_tx(struct ieee80211_hw *hw, int queue,
7893 const struct ieee80211_tx_queue_params *params) 7888 const struct ieee80211_tx_queue_params *params)
7894{ 7889{
7895 struct iwl4965_priv *priv = hw->priv; 7890 struct iwl4965_priv *priv = hw->priv;
7896#ifdef CONFIG_IWL4965_QOS
7897 unsigned long flags; 7891 unsigned long flags;
7898 int q; 7892 int q;
7899#endif /* CONFIG_IWL4965_QOS */
7900 7893
7901 IWL_DEBUG_MAC80211("enter\n"); 7894 IWL_DEBUG_MAC80211("enter\n");
7902 7895
@@ -7910,7 +7903,6 @@ static int iwl4965_mac_conf_tx(struct ieee80211_hw *hw, int queue,
7910 return 0; 7903 return 0;
7911 } 7904 }
7912 7905
7913#ifdef CONFIG_IWL4965_QOS
7914 if (!priv->qos_data.qos_enable) { 7906 if (!priv->qos_data.qos_enable) {
7915 priv->qos_data.qos_active = 0; 7907 priv->qos_data.qos_active = 0;
7916 IWL_DEBUG_MAC80211("leave - qos not enabled\n"); 7908 IWL_DEBUG_MAC80211("leave - qos not enabled\n");
@@ -7939,8 +7931,6 @@ static int iwl4965_mac_conf_tx(struct ieee80211_hw *hw, int queue,
7939 7931
7940 mutex_unlock(&priv->mutex); 7932 mutex_unlock(&priv->mutex);
7941 7933
7942#endif /*CONFIG_IWL4965_QOS */
7943
7944 IWL_DEBUG_MAC80211("leave\n"); 7934 IWL_DEBUG_MAC80211("leave\n");
7945 return 0; 7935 return 0;
7946} 7936}
@@ -8012,9 +8002,7 @@ static void iwl4965_mac_reset_tsf(struct ieee80211_hw *hw)
8012 spin_unlock_irqrestore(&priv->lock, flags); 8002 spin_unlock_irqrestore(&priv->lock, flags);
8013#endif /* CONFIG_IWL4965_HT */ 8003#endif /* CONFIG_IWL4965_HT */
8014 8004
8015#ifdef CONFIG_IWL4965_QOS
8016 iwl4965_reset_qos(priv); 8005 iwl4965_reset_qos(priv);
8017#endif
8018 8006
8019 cancel_delayed_work(&priv->post_associate); 8007 cancel_delayed_work(&priv->post_associate);
8020 8008
@@ -8103,9 +8091,7 @@ static int iwl4965_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *sk
8103 IWL_DEBUG_MAC80211("leave\n"); 8091 IWL_DEBUG_MAC80211("leave\n");
8104 spin_unlock_irqrestore(&priv->lock, flags); 8092 spin_unlock_irqrestore(&priv->lock, flags);
8105 8093
8106#ifdef CONFIG_IWL4965_QOS
8107 iwl4965_reset_qos(priv); 8094 iwl4965_reset_qos(priv);
8108#endif
8109 8095
8110 queue_work(priv->workqueue, &priv->post_associate.work); 8096 queue_work(priv->workqueue, &priv->post_associate.work);
8111 8097
@@ -8934,7 +8920,6 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
8934 goto out_iounmap; 8920 goto out_iounmap;
8935 } 8921 }
8936 8922
8937#ifdef CONFIG_IWL4965_QOS
8938 if (iwl4965_param_qos_enable) 8923 if (iwl4965_param_qos_enable)
8939 priv->qos_data.qos_enable = 1; 8924 priv->qos_data.qos_enable = 1;
8940 8925
@@ -8942,7 +8927,6 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
8942 8927
8943 priv->qos_data.qos_active = 0; 8928 priv->qos_data.qos_active = 0;
8944 priv->qos_data.qos_cap.val = 0; 8929 priv->qos_data.qos_cap.val = 0;
8945#endif /* CONFIG_IWL4965_QOS */
8946 8930
8947 iwl4965_set_rxon_channel(priv, IEEE80211_BAND_2GHZ, 6); 8931 iwl4965_set_rxon_channel(priv, IEEE80211_BAND_2GHZ, 6);
8948 iwl4965_setup_deferred_work(priv); 8932 iwl4965_setup_deferred_work(priv);