Skip to content

Commit

Permalink
[media] stb0899: use sign_extend32() for sign extension
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Martin Kepplinger authored and Mauro Carvalho Chehab committed Feb 3, 2015
1 parent 17d4d6a commit 2948c01
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions drivers/media/dvb-frontends/stb0899_algo.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

#include <linux/bitops.h>
#include "stb0899_drv.h"
#include "stb0899_priv.h"
#include "stb0899_reg.h"
Expand Down Expand Up @@ -1490,9 +1491,7 @@ enum stb0899_status stb0899_dvbs2_algo(struct stb0899_state *state)
/* Store signal parameters */
offsetfreq = STB0899_READ_S2REG(STB0899_S2DEMOD, CRL_FREQ);

/* sign extend 30 bit value before using it in calculations */
if (offsetfreq & (1 << 29))
offsetfreq |= -1 << 30;
offsetfreq = sign_extend32(offsetfreq, 29);

offsetfreq = offsetfreq / ((1 << 30) / 1000);
offsetfreq *= (internal->master_clk / 1000000);
Expand Down

0 comments on commit 2948c01

Please sign in to comment.