diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-12-18 19:31:26 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:09:36 -0500 |
commit | 32bfd35d4b63bd63de4bb0d791ef049c3c868726 (patch) | |
tree | c1c213a35a00bcbe71a2ecc6521e19dec66cf6eb /drivers/net/wireless/rtl8187_dev.c | |
parent | f653211197f3841f383fa9757ef8ce182c6cf627 (diff) |
mac80211: dont use interface indices in drivers
This patch gets rid of the if_id stuff where possible in favour of
a new per-virtual-interface structure "struct ieee80211_vif". This
structure is located at the end of the per-interface structure and
contains a variable length driver-use data area.
This has two advantages:
* removes the need to look up interfaces by if_id, this is better
for working with network namespaces and performance
* allows drivers to store and retrieve per-interface data without
having to allocate own lists/hash tables
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rtl8187_dev.c')
-rw-r--r-- | drivers/net/wireless/rtl8187_dev.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/rtl8187_dev.c b/drivers/net/wireless/rtl8187_dev.c index 8dab25a65990..0d71716d750d 100644 --- a/drivers/net/wireless/rtl8187_dev.c +++ b/drivers/net/wireless/rtl8187_dev.c | |||
@@ -150,7 +150,8 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb, | |||
150 | flags |= RTL8187_TX_FLAG_MORE_FRAG; | 150 | flags |= RTL8187_TX_FLAG_MORE_FRAG; |
151 | if (control->flags & IEEE80211_TXCTL_USE_RTS_CTS) { | 151 | if (control->flags & IEEE80211_TXCTL_USE_RTS_CTS) { |
152 | flags |= RTL8187_TX_FLAG_RTS; | 152 | flags |= RTL8187_TX_FLAG_RTS; |
153 | rts_dur = ieee80211_rts_duration(dev, priv->if_id, skb->len, control); | 153 | rts_dur = ieee80211_rts_duration(dev, priv->vif, |
154 | skb->len, control); | ||
154 | } | 155 | } |
155 | if (control->flags & IEEE80211_TXCTL_USE_CTS_PROTECT) | 156 | if (control->flags & IEEE80211_TXCTL_USE_CTS_PROTECT) |
156 | flags |= RTL8187_TX_FLAG_CTS; | 157 | flags |= RTL8187_TX_FLAG_CTS; |
@@ -560,14 +561,13 @@ static int rtl8187_config(struct ieee80211_hw *dev, struct ieee80211_conf *conf) | |||
560 | return 0; | 561 | return 0; |
561 | } | 562 | } |
562 | 563 | ||
563 | static int rtl8187_config_interface(struct ieee80211_hw *dev, int if_id, | 564 | static int rtl8187_config_interface(struct ieee80211_hw *dev, |
565 | struct ieee80211_vif *vif, | ||
564 | struct ieee80211_if_conf *conf) | 566 | struct ieee80211_if_conf *conf) |
565 | { | 567 | { |
566 | struct rtl8187_priv *priv = dev->priv; | 568 | struct rtl8187_priv *priv = dev->priv; |
567 | int i; | 569 | int i; |
568 | 570 | ||
569 | priv->if_id = if_id; | ||
570 | |||
571 | for (i = 0; i < ETH_ALEN; i++) | 571 | for (i = 0; i < ETH_ALEN; i++) |
572 | rtl818x_iowrite8(priv, &priv->map->BSSID[i], conf->bssid[i]); | 572 | rtl818x_iowrite8(priv, &priv->map->BSSID[i], conf->bssid[i]); |
573 | 573 | ||