aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-11-25 11:46:19 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-12-21 18:38:52 -0500
commit47846c9b0c10808d9337d2e7d09361f3e0a0a71a (patch)
tree8e5d0dbf3309b7868fa73a888f9561ffea1580e3 /include
parentabe60632f311d515b082b450504ee24006023951 (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.h2
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 */
665struct ieee80211_vif { 666struct 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};