From 2ea12442e3e5df6107ba4f948c7e6f7c99b3b373 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Tue, 23 Sep 2014 22:38:37 -0300 Subject: [PATCH] [media] tc90522: fix compilation on 32 bits drivers/built-in.o: In function `tc90522t_get_frontend': >> tc90522.c:(.text+0x260b64c): undefined reference to `__divdi3' >> tc90522.c:(.text+0x260b685): undefined reference to `__divdi3' >> tc90522.c:(.text+0x260b6bb): undefined reference to `__divdi3' >> tc90522.c:(.text+0x260b713): undefined reference to `__divdi3' drivers/built-in.o:tc90522.c:(.text+0x260bb64): more undefined references to `__divdi3' follow Reported-by: kbuild test robot Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb-frontends/tc90522.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/media/dvb-frontends/tc90522.c b/drivers/media/dvb-frontends/tc90522.c index cdd9808c322c..d9905fb52f84 100644 --- a/drivers/media/dvb-frontends/tc90522.c +++ b/drivers/media/dvb-frontends/tc90522.c @@ -28,6 +28,7 @@ */ #include +#include #include #include "dvb_math.h" #include "tc90522.h" @@ -275,7 +276,7 @@ static int tc90522s_get_frontend(struct dvb_frontend *fe) /* cn = cnr << 3 */ p = int_sqrt(cndat << 16); p4 = cndat * cndat; - cn = (-16346LL * p4 * p / 10) >> 35; + cn = div64_s64(-16346LL * p4 * p, 10) >> 35; cn += (14341LL * p4) >> 21; cn -= (50259LL * cndat * p) >> 23; cn += (88977LL * cndat) >> 9; @@ -434,13 +435,13 @@ static int tc90522t_get_frontend(struct dvb_frontend *fe) p *= 10; cn = 24772; - cn += ((43827LL * p) / 10) >> 24; + cn += div64_s64(43827LL * p, 10) >> 24; tmp = p >> 8; - cn += ((3184LL * tmp * tmp) / 10) >> 32; + cn += div64_s64(3184LL * tmp * tmp, 10) >> 32; tmp = p >> 13; - cn -= ((128LL * tmp * tmp * tmp) / 10) >> 33; + cn -= div64_s64(128LL * tmp * tmp * tmp, 10) >> 33; tmp = p >> 18; - cn += ((192LL * tmp * tmp * tmp * tmp) / 1000) >> 24; + cn += div64_s64(192LL * tmp * tmp * tmp * tmp, 1000) >> 24; stats->stat[0].svalue = cn >> 3; stats->stat[0].scale = FE_SCALE_DECIBEL;