|
@@ -222,31 +222,28 @@ static void ath9k_hw_read_revisions(struct ath_hw *ah)
|
|
{
|
|
{
|
|
u32 val;
|
|
u32 val;
|
|
|
|
|
|
|
|
+ if (ah->get_mac_revision)
|
|
|
|
+ ah->hw_version.macRev = ah->get_mac_revision();
|
|
|
|
+
|
|
switch (ah->hw_version.devid) {
|
|
switch (ah->hw_version.devid) {
|
|
case AR5416_AR9100_DEVID:
|
|
case AR5416_AR9100_DEVID:
|
|
ah->hw_version.macVersion = AR_SREV_VERSION_9100;
|
|
ah->hw_version.macVersion = AR_SREV_VERSION_9100;
|
|
break;
|
|
break;
|
|
case AR9300_DEVID_AR9330:
|
|
case AR9300_DEVID_AR9330:
|
|
ah->hw_version.macVersion = AR_SREV_VERSION_9330;
|
|
ah->hw_version.macVersion = AR_SREV_VERSION_9330;
|
|
- if (ah->get_mac_revision) {
|
|
|
|
- ah->hw_version.macRev = ah->get_mac_revision();
|
|
|
|
- } else {
|
|
|
|
|
|
+ if (!ah->get_mac_revision) {
|
|
val = REG_READ(ah, AR_SREV);
|
|
val = REG_READ(ah, AR_SREV);
|
|
ah->hw_version.macRev = MS(val, AR_SREV_REVISION2);
|
|
ah->hw_version.macRev = MS(val, AR_SREV_REVISION2);
|
|
}
|
|
}
|
|
return;
|
|
return;
|
|
case AR9300_DEVID_AR9340:
|
|
case AR9300_DEVID_AR9340:
|
|
ah->hw_version.macVersion = AR_SREV_VERSION_9340;
|
|
ah->hw_version.macVersion = AR_SREV_VERSION_9340;
|
|
- val = REG_READ(ah, AR_SREV);
|
|
|
|
- ah->hw_version.macRev = MS(val, AR_SREV_REVISION2);
|
|
|
|
return;
|
|
return;
|
|
case AR9300_DEVID_QCA955X:
|
|
case AR9300_DEVID_QCA955X:
|
|
ah->hw_version.macVersion = AR_SREV_VERSION_9550;
|
|
ah->hw_version.macVersion = AR_SREV_VERSION_9550;
|
|
return;
|
|
return;
|
|
case AR9300_DEVID_AR953X:
|
|
case AR9300_DEVID_AR953X:
|
|
ah->hw_version.macVersion = AR_SREV_VERSION_9531;
|
|
ah->hw_version.macVersion = AR_SREV_VERSION_9531;
|
|
- if (ah->get_mac_revision)
|
|
|
|
- ah->hw_version.macRev = ah->get_mac_revision();
|
|
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|