From: Gianluca Gennari Date: Tue, 11 Mar 2014 13:41:47 +0000 (-0300) Subject: [media] drx39xyj: fix 64 bit division on 32 bit arch X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=90d9c3e1ede2a7d4a0dedfff6e22f46ebd7484c0;p=openwrt%2Fstaging%2Fblogic.git [media] drx39xyj: fix 64 bit division on 32 bit arch Fix this linker warning: WARNING: "__divdi3" [media_build/v4l/drx39xyj.ko] undefined! [m.chehab@samsung.com: add include for asm/div64.h] Signed-off-by: Gianluca Gennari Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb-frontends/drx39xyj/drxj.c b/drivers/media/dvb-frontends/drx39xyj/drxj.c index b8c5a851c29e..9482954fd453 100644 --- a/drivers/media/dvb-frontends/drx39xyj/drxj.c +++ b/drivers/media/dvb-frontends/drx39xyj/drxj.c @@ -59,6 +59,7 @@ INCLUDE FILES #include #include #include +#include #include "dvb_frontend.h" #include "drx39xxj.h" @@ -12002,13 +12003,16 @@ static int drx39xxj_read_signal_strength(struct dvb_frontend *fe, static int drx39xxj_read_snr(struct dvb_frontend *fe, u16 *snr) { struct dtv_frontend_properties *p = &fe->dtv_property_cache; + u64 tmp64; if (p->cnr.stat[0].scale == FE_SCALE_NOT_AVAILABLE) { *snr = 0; return 0; } - *snr = p->cnr.stat[0].svalue / 10; + tmp64 = p->cnr.stat[0].svalue; + do_div(tmp64, 10); + *snr = tmp64; return 0; }