ath9k: use ah->get_mac_revision for all SoC devices if available
authorFelix Fietkau <nbd@openwrt.org>
Sat, 27 Sep 2014 20:49:43 +0000 (22:49 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 30 Sep 2014 17:17:39 +0000 (13:17 -0400)
It is needed for AR934x as well

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/hw.c

index 3aed729..cf0128e 100644 (file)
@@ -222,31 +222,28 @@ static void ath9k_hw_read_revisions(struct ath_hw *ah)
 {
        u32 val;
 
+       if (ah->get_mac_revision)
+               ah->hw_version.macRev = ah->get_mac_revision();
+
        switch (ah->hw_version.devid) {
        case AR5416_AR9100_DEVID:
                ah->hw_version.macVersion = AR_SREV_VERSION_9100;
                break;
        case AR9300_DEVID_AR9330:
                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);
                        ah->hw_version.macRev = MS(val, AR_SREV_REVISION2);
                }
                return;
        case AR9300_DEVID_AR9340:
                ah->hw_version.macVersion = AR_SREV_VERSION_9340;
-               val = REG_READ(ah, AR_SREV);
-               ah->hw_version.macRev = MS(val, AR_SREV_REVISION2);
                return;
        case AR9300_DEVID_QCA955X:
                ah->hw_version.macVersion = AR_SREV_VERSION_9550;
                return;
        case AR9300_DEVID_AR953X:
                ah->hw_version.macVersion = AR_SREV_VERSION_9531;
-               if (ah->get_mac_revision)
-                       ah->hw_version.macRev = ah->get_mac_revision();
                return;
        }