diff options
author | Martin Kepplinger <martink@posteo.de> | 2015-01-25 09:51:35 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-02-03 15:16:18 -0500 |
commit | 2948c01c2b686f03aa50a3a87323604f7ad39578 (patch) | |
tree | f7d865c73379ee4ce7fde95007a668af20bcf167 /drivers/media | |
parent | 17d4d6ae09f7b556eb13d4f708f810a1ef99733e (diff) |
[media] stb0899: use sign_extend32() for sign extension
Instead of implement its own logic, use the already-defined one.
Signed-off-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb-frontends/stb0899_algo.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/media/dvb-frontends/stb0899_algo.c b/drivers/media/dvb-frontends/stb0899_algo.c index 93596e0e640b..3012f196e9bd 100644 --- a/drivers/media/dvb-frontends/stb0899_algo.c +++ b/drivers/media/dvb-frontends/stb0899_algo.c | |||
@@ -19,6 +19,7 @@ | |||
19 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 19 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <linux/bitops.h> | ||
22 | #include "stb0899_drv.h" | 23 | #include "stb0899_drv.h" |
23 | #include "stb0899_priv.h" | 24 | #include "stb0899_priv.h" |
24 | #include "stb0899_reg.h" | 25 | #include "stb0899_reg.h" |
@@ -1490,9 +1491,7 @@ enum stb0899_status stb0899_dvbs2_algo(struct stb0899_state *state) | |||
1490 | /* Store signal parameters */ | 1491 | /* Store signal parameters */ |
1491 | offsetfreq = STB0899_READ_S2REG(STB0899_S2DEMOD, CRL_FREQ); | 1492 | offsetfreq = STB0899_READ_S2REG(STB0899_S2DEMOD, CRL_FREQ); |
1492 | 1493 | ||
1493 | /* sign extend 30 bit value before using it in calculations */ | 1494 | offsetfreq = sign_extend32(offsetfreq, 29); |
1494 | if (offsetfreq & (1 << 29)) | ||
1495 | offsetfreq |= -1 << 30; | ||
1496 | 1495 | ||
1497 | offsetfreq = offsetfreq / ((1 << 30) / 1000); | 1496 | offsetfreq = offsetfreq / ((1 << 30) / 1000); |
1498 | offsetfreq *= (internal->master_clk / 1000000); | 1497 | offsetfreq *= (internal->master_clk / 1000000); |