Search Linux Wireless

[PATCH v2 3/5] ath9k: simplify ath9k_hw_get_scaled_power function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Gabor Juhos <juhosg@xxxxxxxxxxx>
---
 drivers/net/wireless/ath/ath9k/eeprom.c |   21 ++++++++-------------
 1 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/eeprom.c b/drivers/net/wireless/ath/ath9k/eeprom.c
index 61bad99..6a64dec 100644
--- a/drivers/net/wireless/ath/ath9k/eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/eeprom.c
@@ -293,9 +293,7 @@ u16 ath9k_hw_get_max_edge_power(u16 freq, struct cal_ctl_edges *pRdEdgesPower,
 u16 ath9k_hw_get_scaled_power(struct ath_hw *ah, u16 power_limit,
 			      u8 antenna_reduction)
 {
-	u16 scaled_power;
-
-	scaled_power = power_limit - antenna_reduction;
+	u16 reduction = antenna_reduction;
 
 	/*
 	 * Reduce scaled Power by number of chains active
@@ -305,22 +303,19 @@ u16 ath9k_hw_get_scaled_power(struct ath_hw *ah, u16 power_limit,
 	case 1:
 		break;
 	case 2:
-		if (scaled_power > REDUCE_SCALED_POWER_BY_TWO_CHAIN)
-			scaled_power -= REDUCE_SCALED_POWER_BY_TWO_CHAIN;
-		else
-			scaled_power = 0;
+		reduction += REDUCE_SCALED_POWER_BY_TWO_CHAIN;
 		break;
 	case 3:
-		if (scaled_power > REDUCE_SCALED_POWER_BY_THREE_CHAIN)
-			scaled_power -= REDUCE_SCALED_POWER_BY_THREE_CHAIN;
-		else
-			scaled_power = 0;
+		reduction += REDUCE_SCALED_POWER_BY_THREE_CHAIN;
 		break;
 	}
 
-	scaled_power = max((u16)0, scaled_power);
+	if (power_limit > reduction)
+		power_limit -= reduction;
+	else
+		power_limit = 0;
 
-	return scaled_power;
+	return power_limit;
 }
 
 void ath9k_hw_update_regulatory_maxpower(struct ath_hw *ah)
-- 
1.7.2.1

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux