From: Oleksij Rempel <linux@rempel-privat.de>
Date: Sun, 22 Mar 2015 18:29:59 +0000 (+0100)
Subject: ath9k: ath9k_hw_analog_shift_rmw: use REG_RMW
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2028523b6dcead43ddbbe4dc14f59f07b6238d34;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

ath9k: ath9k_hw_analog_shift_rmw: use REG_RMW

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>
---

diff --git a/drivers/net/wireless/ath/ath9k/eeprom.c b/drivers/net/wireless/ath/ath9k/eeprom.c
index 971d770722cf..cc81482c934d 100644
--- a/drivers/net/wireless/ath/ath9k/eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/eeprom.c
@@ -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);