diff options
author | Christian Lamparter <chunkeey@googlemail.com> | 2010-10-29 17:11:23 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-11-15 13:27:05 -0500 |
commit | b1d771ee33c6e4006676002b9d74abf45b71d3d6 (patch) | |
tree | 95f3e781ec6528ee5985932a624ad880c9a9596e /drivers/net | |
parent | 7919a57bc608140aa8614c19eac40c6916fb61d2 (diff) |
carl9170: use generic sign_extend32
This patch replaces the handcrafted
sign extension cruft with a generic
bitop function.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ath/carl9170/phy.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/drivers/net/wireless/ath/carl9170/phy.c b/drivers/net/wireless/ath/carl9170/phy.c index 89deca37a988..82bc81c4c930 100644 --- a/drivers/net/wireless/ath/carl9170/phy.c +++ b/drivers/net/wireless/ath/carl9170/phy.c | |||
@@ -1554,15 +1554,6 @@ static int carl9170_set_power_cal(struct ar9170 *ar, u32 freq, | |||
1554 | return carl9170_regwrite_result(); | 1554 | return carl9170_regwrite_result(); |
1555 | } | 1555 | } |
1556 | 1556 | ||
1557 | /* TODO: replace this with sign_extend32(noise, 8) */ | ||
1558 | static int carl9170_calc_noise_dbm(u32 raw_noise) | ||
1559 | { | ||
1560 | if (raw_noise & 0x100) | ||
1561 | return ~0x1ff | raw_noise; | ||
1562 | else | ||
1563 | return raw_noise; | ||
1564 | } | ||
1565 | |||
1566 | int carl9170_get_noisefloor(struct ar9170 *ar) | 1557 | int carl9170_get_noisefloor(struct ar9170 *ar) |
1567 | { | 1558 | { |
1568 | static const u32 phy_regs[] = { | 1559 | static const u32 phy_regs[] = { |
@@ -1578,11 +1569,11 @@ int carl9170_get_noisefloor(struct ar9170 *ar) | |||
1578 | return err; | 1569 | return err; |
1579 | 1570 | ||
1580 | for (i = 0; i < 2; i++) { | 1571 | for (i = 0; i < 2; i++) { |
1581 | ar->noise[i] = carl9170_calc_noise_dbm( | 1572 | ar->noise[i] = sign_extend32(GET_VAL( |
1582 | (phy_res[i] >> 19) & 0x1ff); | 1573 | AR9170_PHY_CCA_MIN_PWR, phy_res[i]), 8); |
1583 | 1574 | ||
1584 | ar->noise[i + 2] = carl9170_calc_noise_dbm( | 1575 | ar->noise[i + 2] = sign_extend32(GET_VAL( |
1585 | (phy_res[i + 2] >> 23) & 0x1ff); | 1576 | AR9170_PHY_EXT_CCA_MIN_PWR, phy_res[i + 2]), 8); |
1586 | } | 1577 | } |
1587 | 1578 | ||
1588 | return 0; | 1579 | return 0; |