aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorAbhijeet Kolekar <abhijeet.kolekar@intel.com>2009-04-08 14:26:49 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 16:54:43 -0400
commit60690a6a38cc03142a0c5aaed64cf043e707457d (patch)
treebfb2a7ce9e4db46849011959eff825616d65b7d8 /drivers/net
parent4808368dad3263ac46e71f037c0dcd2dcf082525 (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.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.h2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c4
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c4
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
2957static struct iwl_station_mgmt_ops iwl3945_station_mgmt = { 2958static 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,
278extern void iwl3945_disable_events(struct iwl_priv *priv); 278extern void iwl3945_disable_events(struct iwl_priv *priv);
279extern int iwl4965_get_temperature(const struct iwl_priv *priv); 279extern int iwl4965_get_temperature(const struct iwl_priv *priv);
280extern void iwl3945_post_associate(struct iwl_priv *priv); 280extern void iwl3945_post_associate(struct iwl_priv *priv);
281extern 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
2338static struct iwl_ops iwl4965_ops = { 2339static 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
1542struct iwl_ops iwl5000_ops = { 1543struct 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
2039static void iwl_config_ap(struct iwl_priv *priv) 2039void 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,
279void iwl_mac_remove_interface(struct ieee80211_hw *hw, 280void iwl_mac_remove_interface(struct ieee80211_hw *hw,
280 struct ieee80211_if_init_conf *conf); 281 struct ieee80211_if_init_conf *conf);
281int iwl_mac_config(struct ieee80211_hw *hw, u32 changed); 282int iwl_mac_config(struct ieee80211_hw *hw, u32 changed);
283void 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 570static inline void iwlcore_config_ap(struct iwl_priv *priv)
571{
572 priv->cfg->ops->lib->config_ap(priv);
573}
569static inline const struct ieee80211_supported_band *iwl_get_hw_mode( 574static 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
3381static void iwl3945_config_ap(struct iwl_priv *priv) 3381void 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)