提交 cdbf0846 编写于 作者: H Harvey Harrison 提交者: John W. Linville

b43: replace limit_value macro with clamp_val

kernel-provided clamp_val is identical, delete the private limit_value helper.
Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
Cc: Michael Buesch <mb@bu3sch.de>
Cc: "John W. Linville" <linville@tuxdriver.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 8c046c8c
...@@ -939,22 +939,6 @@ static inline bool __b43_warn_on_dummy(bool x) { return x; } ...@@ -939,22 +939,6 @@ static inline bool __b43_warn_on_dummy(bool x) { return x; }
# define B43_WARN_ON(x) __b43_warn_on_dummy(unlikely(!!(x))) # define B43_WARN_ON(x) __b43_warn_on_dummy(unlikely(!!(x)))
#endif #endif
/** Limit a value between two limits */
#ifdef limit_value
# undef limit_value
#endif
#define limit_value(value, min, max) \
({ \
typeof(value) __value = (value); \
typeof(value) __min = (min); \
typeof(value) __max = (max); \
if (__value < __min) \
__value = __min; \
else if (__value > __max) \
__value = __max; \
__value; \
})
/* Convert an integer to a Q5.2 value */ /* Convert an integer to a Q5.2 value */
#define INT_TO_Q52(i) ((i) << 2) #define INT_TO_Q52(i) ((i) << 2)
/* Convert a Q5.2 value to an integer (precision loss!) */ /* Convert a Q5.2 value to an integer (precision loss!) */
......
...@@ -199,7 +199,7 @@ static void lo_measure_txctl_values(struct b43_wldev *dev) ...@@ -199,7 +199,7 @@ static void lo_measure_txctl_values(struct b43_wldev *dev)
if (lb_gain > 10) { if (lb_gain > 10) {
radio_pctl_reg = 0; radio_pctl_reg = 0;
pga = abs(10 - lb_gain) / 6; pga = abs(10 - lb_gain) / 6;
pga = limit_value(pga, 0, 15); pga = clamp_val(pga, 0, 15);
} else { } else {
int cmp_val; int cmp_val;
int tmp; int tmp;
...@@ -321,7 +321,7 @@ static void lo_measure_gain_values(struct b43_wldev *dev, ...@@ -321,7 +321,7 @@ static void lo_measure_gain_values(struct b43_wldev *dev,
phy->lna_lod_gain = 1; phy->lna_lod_gain = 1;
trsw_rx_gain -= 8; trsw_rx_gain -= 8;
} }
trsw_rx_gain = limit_value(trsw_rx_gain, 0, 0x2D); trsw_rx_gain = clamp_val(trsw_rx_gain, 0, 0x2D);
phy->pga_gain = trsw_rx_gain / 3; phy->pga_gain = trsw_rx_gain / 3;
if (phy->pga_gain >= 5) { if (phy->pga_gain >= 5) {
phy->pga_gain -= 5; phy->pga_gain -= 5;
......
...@@ -1182,10 +1182,10 @@ static void handle_irq_noise(struct b43_wldev *dev) ...@@ -1182,10 +1182,10 @@ static void handle_irq_noise(struct b43_wldev *dev)
/* Get the noise samples. */ /* Get the noise samples. */
B43_WARN_ON(dev->noisecalc.nr_samples >= 8); B43_WARN_ON(dev->noisecalc.nr_samples >= 8);
i = dev->noisecalc.nr_samples; i = dev->noisecalc.nr_samples;
noise[0] = limit_value(noise[0], 0, ARRAY_SIZE(phy->nrssi_lt) - 1); noise[0] = clamp_val(noise[0], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
noise[1] = limit_value(noise[1], 0, ARRAY_SIZE(phy->nrssi_lt) - 1); noise[1] = clamp_val(noise[1], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
noise[2] = limit_value(noise[2], 0, ARRAY_SIZE(phy->nrssi_lt) - 1); noise[2] = clamp_val(noise[2], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
noise[3] = limit_value(noise[3], 0, ARRAY_SIZE(phy->nrssi_lt) - 1); noise[3] = clamp_val(noise[3], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
dev->noisecalc.samples[i][0] = phy->nrssi_lt[noise[0]]; dev->noisecalc.samples[i][0] = phy->nrssi_lt[noise[0]];
dev->noisecalc.samples[i][1] = phy->nrssi_lt[noise[1]]; dev->noisecalc.samples[i][1] = phy->nrssi_lt[noise[1]];
dev->noisecalc.samples[i][2] = phy->nrssi_lt[noise[2]]; dev->noisecalc.samples[i][2] = phy->nrssi_lt[noise[2]];
......
...@@ -1415,7 +1415,7 @@ static void b43_phy_initg(struct b43_wldev *dev) ...@@ -1415,7 +1415,7 @@ static void b43_phy_initg(struct b43_wldev *dev)
* the value 0x7FFFFFFF here. I think that is some weird * the value 0x7FFFFFFF here. I think that is some weird
* compiler optimization in the original driver. * compiler optimization in the original driver.
* Essentially, what we do here is resetting all NRSSI LT * Essentially, what we do here is resetting all NRSSI LT
* entries to -32 (see the limit_value() in nrssi_hw_update()) * entries to -32 (see the clamp_val() in nrssi_hw_update())
*/ */
b43_nrssi_hw_update(dev, 0xFFFF); //FIXME? b43_nrssi_hw_update(dev, 0xFFFF); //FIXME?
b43_calc_nrssi_threshold(dev); b43_calc_nrssi_threshold(dev);
...@@ -1477,13 +1477,13 @@ static s8 b43_phy_estimate_power_out(struct b43_wldev *dev, s8 tssi) ...@@ -1477,13 +1477,13 @@ static s8 b43_phy_estimate_power_out(struct b43_wldev *dev, s8 tssi)
switch (phy->type) { switch (phy->type) {
case B43_PHYTYPE_A: case B43_PHYTYPE_A:
tmp += 0x80; tmp += 0x80;
tmp = limit_value(tmp, 0x00, 0xFF); tmp = clamp_val(tmp, 0x00, 0xFF);
dbm = phy->tssi2dbm[tmp]; dbm = phy->tssi2dbm[tmp];
//TODO: There's a FIXME on the specs //TODO: There's a FIXME on the specs
break; break;
case B43_PHYTYPE_B: case B43_PHYTYPE_B:
case B43_PHYTYPE_G: case B43_PHYTYPE_G:
tmp = limit_value(tmp, 0x00, 0x3F); tmp = clamp_val(tmp, 0x00, 0x3F);
dbm = phy->tssi2dbm[tmp]; dbm = phy->tssi2dbm[tmp];
break; break;
default: default:
...@@ -1542,8 +1542,8 @@ void b43_put_attenuation_into_ranges(struct b43_wldev *dev, ...@@ -1542,8 +1542,8 @@ void b43_put_attenuation_into_ranges(struct b43_wldev *dev,
break; break;
} }
*_rfatt = limit_value(rfatt, rf_min, rf_max); *_rfatt = clamp_val(rfatt, rf_min, rf_max);
*_bbatt = limit_value(bbatt, bb_min, bb_max); *_bbatt = clamp_val(bbatt, bb_min, bb_max);
} }
/* http://bcm-specs.sipsolutions.net/RecalculateTransmissionPower */ /* http://bcm-specs.sipsolutions.net/RecalculateTransmissionPower */
...@@ -1638,7 +1638,7 @@ void b43_phy_xmitpower(struct b43_wldev *dev) ...@@ -1638,7 +1638,7 @@ void b43_phy_xmitpower(struct b43_wldev *dev)
/* Get desired power (in Q5.2) */ /* Get desired power (in Q5.2) */
desired_pwr = INT_TO_Q52(phy->power_level); desired_pwr = INT_TO_Q52(phy->power_level);
/* And limit it. max_pwr already is Q5.2 */ /* And limit it. max_pwr already is Q5.2 */
desired_pwr = limit_value(desired_pwr, 0, max_pwr); desired_pwr = clamp_val(desired_pwr, 0, max_pwr);
if (b43_debug(dev, B43_DBG_XMITPOWER)) { if (b43_debug(dev, B43_DBG_XMITPOWER)) {
b43dbg(dev->wl, b43dbg(dev->wl,
"Current TX power output: " Q52_FMT "Current TX power output: " Q52_FMT
...@@ -1748,7 +1748,7 @@ static inline ...@@ -1748,7 +1748,7 @@ static inline
f = q; f = q;
i++; i++;
} while (delta >= 2); } while (delta >= 2);
entry[index] = limit_value(b43_tssi2dbm_ad(m1 * f, 8192), -127, 128); entry[index] = clamp_val(b43_tssi2dbm_ad(m1 * f, 8192), -127, 128);
return 0; return 0;
} }
...@@ -2274,7 +2274,7 @@ void b43_nrssi_hw_update(struct b43_wldev *dev, u16 val) ...@@ -2274,7 +2274,7 @@ void b43_nrssi_hw_update(struct b43_wldev *dev, u16 val)
for (i = 0; i < 64; i++) { for (i = 0; i < 64; i++) {
tmp = b43_nrssi_hw_read(dev, i); tmp = b43_nrssi_hw_read(dev, i);
tmp -= val; tmp -= val;
tmp = limit_value(tmp, -32, 31); tmp = clamp_val(tmp, -32, 31);
b43_nrssi_hw_write(dev, i, tmp); b43_nrssi_hw_write(dev, i, tmp);
} }
} }
...@@ -2291,7 +2291,7 @@ void b43_nrssi_mem_update(struct b43_wldev *dev) ...@@ -2291,7 +2291,7 @@ void b43_nrssi_mem_update(struct b43_wldev *dev)
tmp = (i - delta) * phy->nrssislope; tmp = (i - delta) * phy->nrssislope;
tmp /= 0x10000; tmp /= 0x10000;
tmp += 0x3A; tmp += 0x3A;
tmp = limit_value(tmp, 0, 0x3F); tmp = clamp_val(tmp, 0, 0x3F);
phy->nrssi_lt[i] = tmp; phy->nrssi_lt[i] = tmp;
} }
} }
...@@ -2728,7 +2728,7 @@ void b43_calc_nrssi_threshold(struct b43_wldev *dev) ...@@ -2728,7 +2728,7 @@ void b43_calc_nrssi_threshold(struct b43_wldev *dev)
} else } else
threshold = phy->nrssi[1] - 5; threshold = phy->nrssi[1] - 5;
threshold = limit_value(threshold, 0, 0x3E); threshold = clamp_val(threshold, 0, 0x3E);
b43_phy_read(dev, 0x0020); /* dummy read */ b43_phy_read(dev, 0x0020); /* dummy read */
b43_phy_write(dev, 0x0020, b43_phy_write(dev, 0x0020,
(((u16) threshold) << 8) | 0x001C); (((u16) threshold) << 8) | 0x001C);
...@@ -2779,7 +2779,7 @@ void b43_calc_nrssi_threshold(struct b43_wldev *dev) ...@@ -2779,7 +2779,7 @@ void b43_calc_nrssi_threshold(struct b43_wldev *dev)
else else
a += 32; a += 32;
a = a >> 6; a = a >> 6;
a = limit_value(a, -31, 31); a = clamp_val(a, -31, 31);
b = b * (phy->nrssi[1] - phy->nrssi[0]); b = b * (phy->nrssi[1] - phy->nrssi[0]);
b += (phy->nrssi[0] << 6); b += (phy->nrssi[0] << 6);
...@@ -2788,7 +2788,7 @@ void b43_calc_nrssi_threshold(struct b43_wldev *dev) ...@@ -2788,7 +2788,7 @@ void b43_calc_nrssi_threshold(struct b43_wldev *dev)
else else
b += 32; b += 32;
b = b >> 6; b = b >> 6;
b = limit_value(b, -31, 31); b = clamp_val(b, -31, 31);
tmp_u16 = b43_phy_read(dev, 0x048A) & 0xF000; tmp_u16 = b43_phy_read(dev, 0x048A) & 0xF000;
tmp_u16 |= ((u32) b & 0x0000003F); tmp_u16 |= ((u32) b & 0x0000003F);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册