ath9k: simplify ath9k_hw_get_scaled_power function
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
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_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 @@
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)