ath5k: use get_unaligned_le32() in ath5k_write_pwr_to_pdadc_table()
authorPavel Roskin <proski@gnu.org>
Thu, 21 Jul 2011 17:36:42 +0000 (13:36 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 22 Jul 2011 13:51:16 +0000 (09:51 -0400)
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath5k/phy.c

index a0c66cf..81e465e 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <linux/delay.h>
 #include <linux/slab.h>
+#include <asm/unaligned.h>
 
 #include "ath5k.h"
 #include "reg.h"
@@ -2794,12 +2795,8 @@ ath5k_write_pwr_to_pdadc_table(struct ath5k_hw *ah, u8 ee_mode)
         * Write TX power values
         */
        for (i = 0; i < (AR5K_EEPROM_POWER_TABLE_SIZE / 2); i++) {
-               ath5k_hw_reg_write(ah,
-                       ((pdadc_out[4 * i + 0] & 0xff) << 0) |
-                       ((pdadc_out[4 * i + 1] & 0xff) << 8) |
-                       ((pdadc_out[4 * i + 2] & 0xff) << 16) |
-                       ((pdadc_out[4 * i + 3] & 0xff) << 24),
-                       AR5K_PHY_PDADC_TXPOWER(i));
+               u32 val = get_unaligned_le32(&pdadc_out[4 * i]);
+               ath5k_hw_reg_write(ah, val, AR5K_PHY_PDADC_TXPOWER(i));
        }
 }