|
@@ -65,40 +65,6 @@ static u16 ath5k_eeprom_bin2freq(struct ath5k_eeprom_info *ee, u16 bin,
|
|
|
* Parsers *
|
|
|
\*********/
|
|
|
|
|
|
-/*
|
|
|
- * Read from eeprom
|
|
|
- */
|
|
|
-static int ath5k_hw_eeprom_read(struct ath5k_hw *ah, u32 offset, u16 *data)
|
|
|
-{
|
|
|
- u32 status, timeout;
|
|
|
-
|
|
|
- /*
|
|
|
- * Initialize EEPROM access
|
|
|
- */
|
|
|
- if (ah->ah_version == AR5K_AR5210) {
|
|
|
- AR5K_REG_ENABLE_BITS(ah, AR5K_PCICFG, AR5K_PCICFG_EEAE);
|
|
|
- (void)ath5k_hw_reg_read(ah, AR5K_EEPROM_BASE + (4 * offset));
|
|
|
- } else {
|
|
|
- ath5k_hw_reg_write(ah, offset, AR5K_EEPROM_BASE);
|
|
|
- AR5K_REG_ENABLE_BITS(ah, AR5K_EEPROM_CMD,
|
|
|
- AR5K_EEPROM_CMD_READ);
|
|
|
- }
|
|
|
-
|
|
|
- for (timeout = AR5K_TUNE_REGISTER_TIMEOUT; timeout > 0; timeout--) {
|
|
|
- status = ath5k_hw_reg_read(ah, AR5K_EEPROM_STATUS);
|
|
|
- if (status & AR5K_EEPROM_STAT_RDDONE) {
|
|
|
- if (status & AR5K_EEPROM_STAT_RDERR)
|
|
|
- return -EIO;
|
|
|
- *data = (u16)(ath5k_hw_reg_read(ah, AR5K_EEPROM_DATA) &
|
|
|
- 0xffff);
|
|
|
- return 0;
|
|
|
- }
|
|
|
- udelay(15);
|
|
|
- }
|
|
|
-
|
|
|
- return -ETIMEDOUT;
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* Initialize eeprom & capabilities structs
|
|
|
*/
|
|
@@ -1769,12 +1735,12 @@ int ath5k_eeprom_read_mac(struct ath5k_hw *ah, u8 *mac)
|
|
|
u16 data;
|
|
|
int octet, ret;
|
|
|
|
|
|
- ret = ath5k_hw_eeprom_read(ah, 0x20, &data);
|
|
|
+ ret = ath5k_hw_nvram_read(ah, 0x20, &data);
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
for (offset = 0x1f, octet = 0, total = 0; offset >= 0x1d; offset--) {
|
|
|
- ret = ath5k_hw_eeprom_read(ah, offset, &data);
|
|
|
+ ret = ath5k_hw_nvram_read(ah, offset, &data);
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|