[PATCH] staging: agnx: mac80211 - unify config_interface and bss_info_changed

From: Tim Gardner
Date: Wed Apr 29 2009 - 14:52:02 EST


The commit 'mac80211: unify config_interface and bss_info_changed' from
Johannes Berg <johannes@xxxxxxxxxxxxxxxx> removed the config_interface structure
tag from struct ieee80211_ops. The BSSID detection functionality migrated to
ieee80211_ops.bss_info_changed.

Renamed agnx_config_interface() to agnc_bss_info_changed() with suitable
refactoring.

Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>
---
drivers/staging/agnx/pci.c | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/agnx/pci.c b/drivers/staging/agnx/pci.c
index 61b15fa..f078b98 100644
--- a/drivers/staging/agnx/pci.c
+++ b/drivers/staging/agnx/pci.c
@@ -302,9 +302,10 @@ static int agnx_config(struct ieee80211_hw *dev, u32 changed)
return 0;
}

-static int agnx_config_interface(struct ieee80211_hw *dev,
+static void agnx_bss_info_changed(struct ieee80211_hw *dev,
struct ieee80211_vif *vif,
- struct ieee80211_if_conf *conf)
+ struct ieee80211_bss_conf *info,
+ u32 changes)
{
struct agnx_priv *priv = dev->priv;
void __iomem *ctl = priv->ctl;
@@ -312,17 +313,17 @@ static int agnx_config_interface(struct ieee80211_hw *dev,

spin_lock(&priv->lock);

- if (memcmp(conf->bssid, priv->bssid, ETH_ALEN)) {
- agnx_set_bssid(priv, conf->bssid);
- memcpy(priv->bssid, conf->bssid, ETH_ALEN);
- hash_write(priv, conf->bssid, BSSID_STAID);
+ if ((changes & BSS_CHANGED_BSSID) ||
+ memcmp(info->bssid, priv->bssid, ETH_ALEN)) {
+ agnx_set_bssid(priv, info->bssid);
+ memcpy(priv->bssid, info->bssid, ETH_ALEN);
+ hash_write(priv, info->bssid, BSSID_STAID);
sta_init(priv, BSSID_STAID);
/* FIXME needed? */
sta_power_init(priv, BSSID_STAID);
agnx_write32(ctl, AGNX_BM_MTSM, 0xff & ~0x1);
}
spin_unlock(&priv->lock);
- return 0;
} /* agnx_config_interface */


@@ -421,7 +422,7 @@ static struct ieee80211_ops agnx_ops = {
.add_interface = agnx_add_interface,
.remove_interface = agnx_remove_interface,
.config = agnx_config,
- .config_interface = agnx_config_interface,
+ .bss_info_changed = agnx_bss_info_changed,
.configure_filter = agnx_configure_filter,
.get_stats = agnx_get_stats,
.get_tx_stats = agnx_get_tx_stats,
--
1.5.6.3