diff options
author | Abhijeet Kolekar <abhijeet.kolekar@intel.com> | 2009-04-08 14:26:49 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-22 16:54:43 -0400 |
commit | 60690a6a38cc03142a0c5aaed64cf043e707457d (patch) | |
tree | bfb2a7ce9e4db46849011959eff825616d65b7d8 /drivers/net | |
parent | 4808368dad3263ac46e71f037c0dcd2dcf082525 (diff) |
iwlwifi: add config_ap lib op
add config_ap lib op to iwlwifi and iwl3945 in preparation
of future 3945 porting actions.
Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.h | 7 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 4 |
7 files changed, 15 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index a854feba82c8..edc0cb38033d 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -2952,6 +2952,7 @@ static struct iwl_lib_ops iwl3945_lib = { | |||
2952 | .send_tx_power = iwl3945_send_tx_power, | 2952 | .send_tx_power = iwl3945_send_tx_power, |
2953 | .is_valid_rtc_data_addr = iwl3945_hw_valid_rtc_data_addr, | 2953 | .is_valid_rtc_data_addr = iwl3945_hw_valid_rtc_data_addr, |
2954 | .post_associate = iwl3945_post_associate, | 2954 | .post_associate = iwl3945_post_associate, |
2955 | .config_ap = iwl3945_config_ap, | ||
2955 | }; | 2956 | }; |
2956 | 2957 | ||
2957 | static struct iwl_station_mgmt_ops iwl3945_station_mgmt = { | 2958 | static struct iwl_station_mgmt_ops iwl3945_station_mgmt = { |
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h index 88628b23efd9..4f5473e01617 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.h +++ b/drivers/net/wireless/iwlwifi/iwl-3945.h | |||
@@ -278,6 +278,8 @@ extern void iwl3945_hw_rx_statistics(struct iwl_priv *priv, | |||
278 | extern void iwl3945_disable_events(struct iwl_priv *priv); | 278 | extern void iwl3945_disable_events(struct iwl_priv *priv); |
279 | extern int iwl4965_get_temperature(const struct iwl_priv *priv); | 279 | extern int iwl4965_get_temperature(const struct iwl_priv *priv); |
280 | extern void iwl3945_post_associate(struct iwl_priv *priv); | 280 | extern void iwl3945_post_associate(struct iwl_priv *priv); |
281 | extern void iwl3945_config_ap(struct iwl_priv *priv); | ||
282 | |||
281 | /** | 283 | /** |
282 | * iwl3945_hw_find_station - Find station id for a given BSSID | 284 | * iwl3945_hw_find_station - Find station id for a given BSSID |
283 | * @bssid: MAC address of station ID to find | 285 | * @bssid: MAC address of station ID to find |
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index ab25e6ab59d5..e4762e530345 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c | |||
@@ -2333,6 +2333,7 @@ static struct iwl_lib_ops iwl4965_lib = { | |||
2333 | .update_chain_flags = iwl_update_chain_flags, | 2333 | .update_chain_flags = iwl_update_chain_flags, |
2334 | .temperature = iwl4965_temperature_calib, | 2334 | .temperature = iwl4965_temperature_calib, |
2335 | .post_associate = iwl_post_associate, | 2335 | .post_associate = iwl_post_associate, |
2336 | .config_ap = iwl_config_ap, | ||
2336 | }; | 2337 | }; |
2337 | 2338 | ||
2338 | static struct iwl_ops iwl4965_ops = { | 2339 | static struct iwl_ops iwl4965_ops = { |
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index cf622a14bfe2..5bbb4f953364 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -1537,6 +1537,7 @@ struct iwl_lib_ops iwl5000_lib = { | |||
1537 | .query_addr = iwl5000_eeprom_query_addr, | 1537 | .query_addr = iwl5000_eeprom_query_addr, |
1538 | }, | 1538 | }, |
1539 | .post_associate = iwl_post_associate, | 1539 | .post_associate = iwl_post_associate, |
1540 | .config_ap = iwl_config_ap, | ||
1540 | }; | 1541 | }; |
1541 | 1542 | ||
1542 | struct iwl_ops iwl5000_ops = { | 1543 | struct iwl_ops iwl5000_ops = { |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 4640996aa298..97f8322e0661 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -2036,7 +2036,7 @@ static int iwl_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
2036 | return NETDEV_TX_OK; | 2036 | return NETDEV_TX_OK; |
2037 | } | 2037 | } |
2038 | 2038 | ||
2039 | static void iwl_config_ap(struct iwl_priv *priv) | 2039 | void iwl_config_ap(struct iwl_priv *priv) |
2040 | { | 2040 | { |
2041 | int ret = 0; | 2041 | int ret = 0; |
2042 | unsigned long flags; | 2042 | unsigned long flags; |
@@ -2178,7 +2178,7 @@ static int iwl_mac_config_interface(struct ieee80211_hw *hw, | |||
2178 | memcpy(priv->bssid, conf->bssid, ETH_ALEN); | 2178 | memcpy(priv->bssid, conf->bssid, ETH_ALEN); |
2179 | 2179 | ||
2180 | if (priv->iw_mode == NL80211_IFTYPE_AP) | 2180 | if (priv->iw_mode == NL80211_IFTYPE_AP) |
2181 | iwl_config_ap(priv); | 2181 | iwlcore_config_ap(priv); |
2182 | else { | 2182 | else { |
2183 | rc = iwlcore_commit_rxon(priv); | 2183 | rc = iwlcore_commit_rxon(priv); |
2184 | if ((priv->iw_mode == NL80211_IFTYPE_STATION) && rc) | 2184 | if ((priv->iw_mode == NL80211_IFTYPE_STATION) && rc) |
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h index da8fae52a5d6..af559b07cc8e 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.h +++ b/drivers/net/wireless/iwlwifi/iwl-core.h | |||
@@ -162,6 +162,7 @@ struct iwl_lib_ops { | |||
162 | void (*update_chain_flags)(struct iwl_priv *priv); | 162 | void (*update_chain_flags)(struct iwl_priv *priv); |
163 | void (*temperature) (struct iwl_priv *priv); | 163 | void (*temperature) (struct iwl_priv *priv); |
164 | void (*post_associate) (struct iwl_priv *priv); | 164 | void (*post_associate) (struct iwl_priv *priv); |
165 | void (*config_ap) (struct iwl_priv *priv); | ||
165 | 166 | ||
166 | /* eeprom operations (as defined in iwl-eeprom.h) */ | 167 | /* eeprom operations (as defined in iwl-eeprom.h) */ |
167 | struct iwl_eeprom_ops eeprom_ops; | 168 | struct iwl_eeprom_ops eeprom_ops; |
@@ -279,6 +280,7 @@ int iwl_mac_add_interface(struct ieee80211_hw *hw, | |||
279 | void iwl_mac_remove_interface(struct ieee80211_hw *hw, | 280 | void iwl_mac_remove_interface(struct ieee80211_hw *hw, |
280 | struct ieee80211_if_init_conf *conf); | 281 | struct ieee80211_if_init_conf *conf); |
281 | int iwl_mac_config(struct ieee80211_hw *hw, u32 changed); | 282 | int iwl_mac_config(struct ieee80211_hw *hw, u32 changed); |
283 | void iwl_config_ap(struct iwl_priv *priv); | ||
282 | 284 | ||
283 | /***************************************************** | 285 | /***************************************************** |
284 | * RX handlers. | 286 | * RX handlers. |
@@ -565,7 +567,10 @@ static inline int iwlcore_commit_rxon(struct iwl_priv *priv) | |||
565 | { | 567 | { |
566 | return priv->cfg->ops->hcmd->commit_rxon(priv); | 568 | return priv->cfg->ops->hcmd->commit_rxon(priv); |
567 | } | 569 | } |
568 | 570 | static inline void iwlcore_config_ap(struct iwl_priv *priv) | |
571 | { | ||
572 | priv->cfg->ops->lib->config_ap(priv); | ||
573 | } | ||
569 | static inline const struct ieee80211_supported_band *iwl_get_hw_mode( | 574 | static inline const struct ieee80211_supported_band *iwl_get_hw_mode( |
570 | struct iwl_priv *priv, enum ieee80211_band band) | 575 | struct iwl_priv *priv, enum ieee80211_band band) |
571 | { | 576 | { |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index c5644a5e50c9..ad6f5ebeaf7a 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -3378,7 +3378,7 @@ static int iwl3945_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
3378 | return NETDEV_TX_OK; | 3378 | return NETDEV_TX_OK; |
3379 | } | 3379 | } |
3380 | 3380 | ||
3381 | static void iwl3945_config_ap(struct iwl_priv *priv) | 3381 | void iwl3945_config_ap(struct iwl_priv *priv) |
3382 | { | 3382 | { |
3383 | int rc = 0; | 3383 | int rc = 0; |
3384 | 3384 | ||
@@ -3515,7 +3515,7 @@ static int iwl3945_mac_config_interface(struct ieee80211_hw *hw, | |||
3515 | memcpy(priv->bssid, conf->bssid, ETH_ALEN); | 3515 | memcpy(priv->bssid, conf->bssid, ETH_ALEN); |
3516 | 3516 | ||
3517 | if (priv->iw_mode == NL80211_IFTYPE_AP) | 3517 | if (priv->iw_mode == NL80211_IFTYPE_AP) |
3518 | iwl3945_config_ap(priv); | 3518 | iwlcore_config_ap(priv); |
3519 | else { | 3519 | else { |
3520 | rc = iwlcore_commit_rxon(priv); | 3520 | rc = iwlcore_commit_rxon(priv); |
3521 | if ((priv->iw_mode == NL80211_IFTYPE_STATION) && rc) | 3521 | if ((priv->iw_mode == NL80211_IFTYPE_STATION) && rc) |