Commit 87b09bd0 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

ts2020: fix compilation on i386

drivers/built-in.o: In function `ts2020_read_signal_strength':
ts2020.c:(.text+0x298ff94): undefined reference to `__divdi3'
ts2020.c:(.text+0x298ffd4): undefined reference to `__divdi3'
ts2020.c:(.text+0x298fffd): undefined reference to `__divdi3'
Makefile:921: recipe for target 'vmlinux' failed
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 9d605e63
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include "dvb_frontend.h" #include "dvb_frontend.h"
#include "ts2020.h" #include "ts2020.h"
#include <linux/regmap.h> #include <linux/regmap.h>
#include <linux/math64.h>
#define TS2020_XTAL_FREQ 27000 /* in kHz */ #define TS2020_XTAL_FREQ 27000 /* in kHz */
#define FREQ_OFFSET_LOW_SYM_RATE 3000 #define FREQ_OFFSET_LOW_SYM_RATE 3000
...@@ -483,13 +484,13 @@ static int ts2020_read_signal_strength(struct dvb_frontend *fe, ...@@ -483,13 +484,13 @@ static int ts2020_read_signal_strength(struct dvb_frontend *fe,
strength = 0; strength = 0;
else if (gain < -65000) else if (gain < -65000)
/* 0% - 60%: weak signal */ /* 0% - 60%: weak signal */
strength = 0 + (85000 + gain) * 3 / 1000; strength = 0 + div64_s64((85000 + gain) * 3, 1000);
else if (gain < -45000) else if (gain < -45000)
/* 60% - 90%: normal signal */ /* 60% - 90%: normal signal */
strength = 60 + (65000 + gain) * 3 / 2000; strength = 60 + div64_s64((65000 + gain) * 3, 2000);
else else
/* 90% - 99%: strong signal */ /* 90% - 99%: strong signal */
strength = 90 + (45000 + gain) / 5000; strength = 90 + div64_s64((45000 + gain), 5000);
*_signal_strength = strength * 65535 / 100; *_signal_strength = strength * 65535 / 100;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment