diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-11-25 11:46:19 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-12-21 18:38:52 -0500 |
commit | 47846c9b0c10808d9337d2e7d09361f3e0a0a71a (patch) | |
tree | 8e5d0dbf3309b7868fa73a888f9561ffea1580e3 /include | |
parent | abe60632f311d515b082b450504ee24006023951 (diff) |
mac80211: reduce reliance on netdev
For bluetooth 3, we will most likely not have
a netdev for a virtual interface (sdata), so
prepare for that by reducing the reliance on
having a netdev. This patch moves the name
and address fields into the sdata struct and
uses them from there all over. Some work is
needed to keep them sync'ed, but that's not
a lot of work and in slow paths anyway.
In doing so, this also reduces the number of
pointer dereferences in many places, because
of things like sdata->dev->dev_addr becoming
sdata->vif.addr.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/mac80211.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 2aff4906b2a..e94cc526b0f 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -659,12 +659,14 @@ struct ieee80211_conf { | |||
659 | * @type: type of this virtual interface | 659 | * @type: type of this virtual interface |
660 | * @bss_conf: BSS configuration for this interface, either our own | 660 | * @bss_conf: BSS configuration for this interface, either our own |
661 | * or the BSS we're associated to | 661 | * or the BSS we're associated to |
662 | * @addr: address of this interface | ||
662 | * @drv_priv: data area for driver use, will always be aligned to | 663 | * @drv_priv: data area for driver use, will always be aligned to |
663 | * sizeof(void *). | 664 | * sizeof(void *). |
664 | */ | 665 | */ |
665 | struct ieee80211_vif { | 666 | struct ieee80211_vif { |
666 | enum nl80211_iftype type; | 667 | enum nl80211_iftype type; |
667 | struct ieee80211_bss_conf bss_conf; | 668 | struct ieee80211_bss_conf bss_conf; |
669 | u8 addr[ETH_ALEN]; | ||
668 | /* must be last */ | 670 | /* must be last */ |
669 | u8 drv_priv[0] __attribute__((__aligned__(sizeof(void *)))); | 671 | u8 drv_priv[0] __attribute__((__aligned__(sizeof(void *)))); |
670 | }; | 672 | }; |