aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorMartin Kepplinger <martink@posteo.de>2015-01-25 09:51:35 -0500
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-02-03 15:16:18 -0500
commit2948c01c2b686f03aa50a3a87323604f7ad39578 (patch)
treef7d865c73379ee4ce7fde95007a668af20bcf167 /drivers/media
parent17d4d6ae09f7b556eb13d4f708f810a1ef99733e (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.c5
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);