ath9k: ath9k_hw_analog_shift_rmw: use REG_RMW
authorOleksij Rempel <linux@rempel-privat.de>
Sun, 22 Mar 2015 18:29:59 +0000 (19:29 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 30 Mar 2015 08:31:37 +0000 (11:31 +0300)
use REG_RMW in ath9k_hw_analog_shift_rmw.
It will double execution speed on usb bus.

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath9k/eeprom.c

index 971d770722cf239bde42cdfedc5fe0fa6c52c7dc..cc81482c934d61e6a40c3b181435348040c93cd2 100644 (file)
@@ -27,12 +27,7 @@ void ath9k_hw_analog_shift_regwrite(struct ath_hw *ah, u32 reg, u32 val)
 void ath9k_hw_analog_shift_rmw(struct ath_hw *ah, u32 reg, u32 mask,
                               u32 shift, u32 val)
 {
-       u32 regVal;
-
-       regVal = REG_READ(ah, reg) & ~mask;
-       regVal |= (val << shift) & mask;
-
-       REG_WRITE(ah, reg, regVal);
+       REG_RMW(ah, reg, ((val << shift) & mask), mask);
 
        if (ah->config.analog_shiftreg)
                udelay(100);