diff options
author | Gertjan van Wingerde <gwingerde@gmail.com> | 2010-02-13 14:55:48 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-02-15 16:14:10 -0500 |
commit | 714fa6636331d33c6045efe394f36c964a6c14ee (patch) | |
tree | dcdb5f14cd2275cec4dac094327d3b3524e201de /drivers/net/wireless/rt2x00/rt2400pci.c | |
parent | cea90e55969ff70b970d64d564076a5469331527 (diff) |
rt2x00: Reorganize RT chipset setting for PCI/SOC devices.
Don't set the RT chipset for a device from within the generic PCI/SOC code,
but rather from the individual drivers, so that individual drivers have
more control over what RT chipset is set.
Preparation for chip handling updates for rt2800 devices.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2400pci.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2400pci.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c index 184335950825..9207b9b100b0 100644 --- a/drivers/net/wireless/rt2x00/rt2400pci.c +++ b/drivers/net/wireless/rt2x00/rt2400pci.c | |||
@@ -1327,6 +1327,7 @@ static int rt2400pci_validate_eeprom(struct rt2x00_dev *rt2x00dev) | |||
1327 | static int rt2400pci_init_eeprom(struct rt2x00_dev *rt2x00dev) | 1327 | static int rt2400pci_init_eeprom(struct rt2x00_dev *rt2x00dev) |
1328 | { | 1328 | { |
1329 | u32 reg; | 1329 | u32 reg; |
1330 | u16 chip; | ||
1330 | u16 value; | 1331 | u16 value; |
1331 | u16 eeprom; | 1332 | u16 eeprom; |
1332 | 1333 | ||
@@ -1336,12 +1337,16 @@ static int rt2400pci_init_eeprom(struct rt2x00_dev *rt2x00dev) | |||
1336 | rt2x00_eeprom_read(rt2x00dev, EEPROM_ANTENNA, &eeprom); | 1337 | rt2x00_eeprom_read(rt2x00dev, EEPROM_ANTENNA, &eeprom); |
1337 | 1338 | ||
1338 | /* | 1339 | /* |
1340 | * Identify RT chipset. | ||
1341 | */ | ||
1342 | pci_read_config_word(to_pci_dev(rt2x00dev->dev), PCI_DEVICE_ID, &chip); | ||
1343 | |||
1344 | /* | ||
1339 | * Identify RF chipset. | 1345 | * Identify RF chipset. |
1340 | */ | 1346 | */ |
1341 | value = rt2x00_get_field16(eeprom, EEPROM_ANTENNA_RF_TYPE); | 1347 | value = rt2x00_get_field16(eeprom, EEPROM_ANTENNA_RF_TYPE); |
1342 | rt2x00pci_register_read(rt2x00dev, CSR0, ®); | 1348 | rt2x00pci_register_read(rt2x00dev, CSR0, ®); |
1343 | rt2x00_set_chip_rf(rt2x00dev, value, reg); | 1349 | rt2x00_set_chip(rt2x00dev, chip, value, reg); |
1344 | rt2x00_print_chip(rt2x00dev); | ||
1345 | 1350 | ||
1346 | if (!rt2x00_rf(rt2x00dev, RF2420) && !rt2x00_rf(rt2x00dev, RF2421)) { | 1351 | if (!rt2x00_rf(rt2x00dev, RF2420) && !rt2x00_rf(rt2x00dev, RF2421)) { |
1347 | ERROR(rt2x00dev, "Invalid RF chipset detected.\n"); | 1352 | ERROR(rt2x00dev, "Invalid RF chipset detected.\n"); |