diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00.h')
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00.h | 29 | 
1 files changed, 26 insertions, 3 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h index 086abb403a4..0d02d16ca16 100644 --- a/drivers/net/wireless/rt2x00/rt2x00.h +++ b/drivers/net/wireless/rt2x00/rt2x00.h @@ -193,6 +193,7 @@ struct rt2x00_chip {  #define RT3883		0x3883	/* WSOC */  #define RT5390		0x5390  /* 2.4GHz */  #define RT5392		0x5392  /* 2.4GHz */ +#define RT5592		0x5592  	u16 rf;  	u16 rev; @@ -1064,8 +1065,7 @@ static inline void rt2x00_rf_write(struct rt2x00_dev *rt2x00dev,  }  /* - *  Generic EEPROM access. - * The EEPROM is being accessed by word index. + * Generic EEPROM access. The EEPROM is being accessed by word or byte index.   */  static inline void *rt2x00_eeprom_addr(struct rt2x00_dev *rt2x00dev,  				       const unsigned int word) @@ -1085,6 +1085,12 @@ static inline void rt2x00_eeprom_write(struct rt2x00_dev *rt2x00dev,  	rt2x00dev->eeprom[word] = cpu_to_le16(data);  } +static inline u8 rt2x00_eeprom_byte(struct rt2x00_dev *rt2x00dev, +				    const unsigned int byte) +{ +	return *(((u8 *)rt2x00dev->eeprom) + byte); +} +  /*   * Chipset handlers   */ @@ -1100,6 +1106,23 @@ static inline void rt2x00_set_chip(struct rt2x00_dev *rt2x00dev,  	     rt2x00dev->chip.rt, rt2x00dev->chip.rf, rt2x00dev->chip.rev);  } +static inline void rt2x00_set_rt(struct rt2x00_dev *rt2x00dev, +				 const u16 rt, const u16 rev) +{ +	rt2x00dev->chip.rt = rt; +	rt2x00dev->chip.rev = rev; + +	INFO(rt2x00dev, "RT chipset %04x, rev %04x detected\n", +	     rt2x00dev->chip.rt, rt2x00dev->chip.rev); +} + +static inline void rt2x00_set_rf(struct rt2x00_dev *rt2x00dev, const u16 rf) +{ +	rt2x00dev->chip.rf = rf; + +	INFO(rt2x00dev, "RF chipset %04x detected\n", rt2x00dev->chip.rf); +} +  static inline bool rt2x00_rt(struct rt2x00_dev *rt2x00dev, const u16 rt)  {  	return (rt2x00dev->chip.rt == rt); @@ -1360,7 +1383,7 @@ int rt2x00mac_conf_tx(struct ieee80211_hw *hw,  		      struct ieee80211_vif *vif, u16 queue,  		      const struct ieee80211_tx_queue_params *params);  void rt2x00mac_rfkill_poll(struct ieee80211_hw *hw); -void rt2x00mac_flush(struct ieee80211_hw *hw, bool drop); +void rt2x00mac_flush(struct ieee80211_hw *hw, u32 queues, bool drop);  int rt2x00mac_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant);  int rt2x00mac_get_antenna(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant);  void rt2x00mac_get_ringparam(struct ieee80211_hw *hw,  |