diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2012-04-14 16:01:59 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-04-16 14:38:54 -0400 |
commit | 8f942b9b8165eb4079d38979ec37a2bf3f983761 (patch) | |
tree | 28fd2ee8071a7d0549f38aa6fc6c3e2db891b899 | |
parent | ea6f792b2b893249e0eeffdb3fe0ea191eaf80d7 (diff) |
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>
-rw-r--r-- | 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 61bad99e76dd..6a64dec486d0 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, | |||
293 | u16 ath9k_hw_get_scaled_power(struct ath_hw *ah, u16 power_limit, | 293 | u16 ath9k_hw_get_scaled_power(struct ath_hw *ah, u16 power_limit, |
294 | u8 antenna_reduction) | 294 | u8 antenna_reduction) |
295 | { | 295 | { |
296 | u16 scaled_power; | 296 | u16 reduction = antenna_reduction; |
297 | |||
298 | scaled_power = power_limit - antenna_reduction; | ||
299 | 297 | ||
300 | /* | 298 | /* |
301 | * Reduce scaled Power by number of chains active | 299 | * 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, | |||
305 | case 1: | 303 | case 1: |
306 | break; | 304 | break; |
307 | case 2: | 305 | case 2: |
308 | if (scaled_power > REDUCE_SCALED_POWER_BY_TWO_CHAIN) | 306 | reduction += REDUCE_SCALED_POWER_BY_TWO_CHAIN; |
309 | scaled_power -= REDUCE_SCALED_POWER_BY_TWO_CHAIN; | ||
310 | else | ||
311 | scaled_power = 0; | ||
312 | break; | 307 | break; |
313 | case 3: | 308 | case 3: |
314 | if (scaled_power > REDUCE_SCALED_POWER_BY_THREE_CHAIN) | 309 | reduction += REDUCE_SCALED_POWER_BY_THREE_CHAIN; |
315 | scaled_power -= REDUCE_SCALED_POWER_BY_THREE_CHAIN; | ||
316 | else | ||
317 | scaled_power = 0; | ||
318 | break; | 310 | break; |
319 | } | 311 | } |
320 | 312 | ||
321 | scaled_power = max((u16)0, scaled_power); | 313 | if (power_limit > reduction) |
314 | power_limit -= reduction; | ||
315 | else | ||
316 | power_limit = 0; | ||
322 | 317 | ||
323 | return scaled_power; | 318 | return power_limit; |
324 | } | 319 | } |
325 | 320 | ||
326 | void ath9k_hw_update_regulatory_maxpower(struct ath_hw *ah) | 321 | void ath9k_hw_update_regulatory_maxpower(struct ath_hw *ah) |