diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00.h')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h index cec604b1b09..c47a1e6333c 100644 --- a/drivers/net/wireless/rt2x00/rt2x00.h +++ b/drivers/net/wireless/rt2x00/rt2x00.h @@ -180,6 +180,14 @@ struct rf_channel { }; /* + * Antenna setup values. + */ +struct antenna_setup { + enum antenna rx; + enum antenna tx; +}; + +/* * Quality statistics about the currently active link. */ struct link_qual { @@ -251,6 +259,13 @@ struct link { struct link_qual qual; /* + * Currently active TX/RX antenna setup. + * When software diversity is used, this will indicate + * which antenna is actually used at this time. + */ + struct antenna_setup active_ant; + + /* * Active VGC level */ int vgc_level; @@ -272,7 +287,6 @@ static inline void rt2x00_clear_link(struct link *link) link->qual.tx_percentage = 50; } - /* * Update the rssi using the walking average approach. */ @@ -378,6 +392,8 @@ struct rt2x00lib_conf { struct ieee80211_conf *conf; struct rf_channel rf; + struct antenna_setup ant; + int phymode; int basic_rates; @@ -583,6 +599,13 @@ struct rt2x00_dev { struct hw_mode_spec spec; /* + * This is the default TX/RX antenna setup as indicated + * by the device's EEPROM. When mac80211 sets its + * antenna value to 0 we should be using these values. + */ + struct antenna_setup default_ant; + + /* * Register pointers * csr_addr: Base register address. (PCI) * csr_cache: CSR cache for usb_control_msg. (USB) |