ath5k: add support for AR2417
PATCH 1/1 ath5k: add support for AR2417
* Add support for AR2417 chips and remove an obsolete message about 2425 during attach.
Thanks to Unex for donating this card to Madwifi project ;-)
It seems that AR2417 is just the m-pci version of AR2425.
Changes-Licensed-under: ISC
Signed-off-by Nick Kossifidis <[email protected]>
--- drivers/net/wireless/ath5k/ath5k.h | 2 ++ drivers/net/wireless/ath5k/attach.c | 8 ++++---- drivers/net/wireless/ath5k/base.c | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-)
drivers/net/wireless/ath5k/ath5k.h +2 -0
@@ -63,6 +63,7 @@#define PCI_DEVICE_ID_ATHEROS_AR2413 0x001a/* AR2413 (Griffin-lite) */ #define PCI_DEVICE_ID_ATHEROS_AR5413 0x001b/* AR5413 (Eagle) */ #define PCI_DEVICE_ID_ATHEROS_AR5424 0x001c/* AR5424 (Condor PCI-E) */ +#define PCI_DEVICE_ID_ATHEROS_AR2417 0x001b/* AR2417 */ #define PCI_DEVICE_ID_ATHEROS_AR5416 0x0023/* AR5416 */ #define PCI_DEVICE_ID_ATHEROS_AR5418 0x0024/* AR5418 */
@@ -318,6 +319,7 @@ struct ath5k_srev_name {#define AR5K_SREV_VER_AR5416 0xc0/* PCI-E */ #define AR5K_SREV_VER_AR5418 0xca/* PCI-E */ #define AR5K_SREV_VER_AR2425 0xe2/* PCI-E */ +#define AR5K_SREV_VER_AR2417 0xf0#define AR5K_SREV_RAD_5110 0x00#define AR5K_SREV_RAD_5111 0x10
drivers/net/wireless/ath5k/attach.c +4 -4
@@ -173,14 +173,13 @@ struct ath5k_hw *ath5k_hw_attach(struct ath5k_softc *sc, u8 mac_version)ATH5K_ERR (sc,"Device not yet supported.\n" ); ret = -ENODEV ; goto err_free; - }else if (srev ==AR5K_SREV_VER_AR2425 ) { -ATH5K_WARN (sc,"Support for RF2425 is under development.\n" ); }/* Identify single chip solutions */ if (((srev <=AR5K_SREV_VER_AR5414 ) && (srev >=AR5K_SREV_VER_AR2413 )) || - (srev ==AR5K_SREV_VER_AR2425 )) { + (srev ==AR5K_SREV_VER_AR2425 ) || + (srev ==AR5K_SREV_VER_AR2417 )) { ah->ah_single_chip = true; }else { ah->ah_single_chip = false;
@@ -199,7 +198,8 @@ struct ath5k_hw *ath5k_hw_attach(struct ath5k_softc *sc, u8 mac_version)* correctly. For now we are based on mac's srev to * identify RF2425 radio. */ - }else if (srev ==AR5K_SREV_VER_AR2425 ) { + }else if ((srev ==AR5K_SREV_VER_AR2425 ) || + (srev ==AR5K_SREV_VER_AR2417 )) { ah->ah_radio =AR5K_RF2425 ; ah->ah_phy_spending =AR5K_PHY_SPENDING_RF2425 ; }else if (ah->ah_radio_5ghz_revision <AR5K_SREV_RAD_5112 ) {
drivers/net/wireless/ath5k/base.c +2 -0
@@ -94,6 +94,7 @@ static struct pci_device_id ath5k_pci_id_table[] __devinitdata = { { PCI_VDEVICE(ATHEROS, 0x001a), .driver_data = AR5K_AR5212 }, /* 2413 Griffin-lite */ { PCI_VDEVICE(ATHEROS, 0x001b), .driver_data = AR5K_AR5212 }, /* 5413 Eagle */ { PCI_VDEVICE(ATHEROS, 0x001c), .driver_data = AR5K_AR5212 }, /* 5424 Condor (PCI-E)*/ + { PCI_VDEVICE(ATHEROS, 0x001d), .driver_data = AR5K_AR5212 }, /* 2417 (2425 m-pci)*/ { 0 } };MODULE_DEVICE_TABLE (pci, ath5k_pci_id_table);
@@ -117,6 +118,7 @@ static struct ath5k_srev_name srev_names[] = { { "5416", AR5K_VERSION_VER, AR5K_SREV_VER_AR5416 }, { "5418", AR5K_VERSION_VER, AR5K_SREV_VER_AR5418 }, { "2425", AR5K_VERSION_VER, AR5K_SREV_VER_AR2425 }, + { "2417", AR5K_VERSION_VER, AR5K_SREV_VER_AR2417 }, { "xxxxx", AR5K_VERSION_VER, AR5K_SREV_UNKNOWN }, { "5110", AR5K_VERSION_RAD, AR5K_SREV_RAD_5110 }, { "5111", AR5K_VERSION_RAD, AR5K_SREV_RAD_5111 },