ath9k: use get_unaligned_{b16, le16, le32} where possible
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / ath / ath9k / eeprom_4k.c
index 5b1e894f3d679aa7d43fe52707d731e7aaec6032..47cc95086e6e950e4ca7c89c9801707a15572aa6 100644 (file)
@@ -14,6 +14,7 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include <asm/unaligned.h>
 #include "hw.h"
 #include "ar9002_phy.h"
 
@@ -203,11 +204,11 @@ static u32 ath9k_hw_4k_get_eeprom(struct ath_hw *ah,
        case EEP_NFTHRESH_2:
                return pModal->noiseFloorThreshCh[0];
        case EEP_MAC_LSW:
-               return pBase->macAddr[0] << 8 | pBase->macAddr[1];
+               return get_unaligned_be16(pBase->macAddr);
        case EEP_MAC_MID:
-               return pBase->macAddr[2] << 8 | pBase->macAddr[3];
+               return get_unaligned_be16(pBase->macAddr + 2);
        case EEP_MAC_MSW:
-               return pBase->macAddr[4] << 8 | pBase->macAddr[5];
+               return get_unaligned_be16(pBase->macAddr + 4);
        case EEP_REG_0:
                return pBase->regDmn[0];
        case EEP_REG_1:
@@ -331,10 +332,7 @@ static void ath9k_hw_set_4k_power_cal_table(struct ath_hw *ah,
 
                        regOffset = AR_PHY_BASE + (672 << 2) + regChainOffset;
                        for (j = 0; j < 32; j++) {
-                               reg32 = ((pdadcValues[4 * j + 0] & 0xFF) << 0) |
-                                       ((pdadcValues[4 * j + 1] & 0xFF) << 8) |
-                                       ((pdadcValues[4 * j + 2] & 0xFF) << 16)|
-                                       ((pdadcValues[4 * j + 3] & 0xFF) << 24);
+                               reg32 = get_unaligned_le32(&pdadcValues[4 * j]);
                                REG_WRITE(ah, regOffset, reg32);
 
                                ath_dbg(common, ATH_DBG_EEPROM,