summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends/lgdt3305.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-05-29 17:03:31 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-05-29 17:03:31 -0300
commite0dc20d13b71daf0612373420a45246e6566d61f (patch)
tree0c72e35a296a93ae12f58be8eeb9f2222242541d /linux/drivers/media/dvb/frontends/lgdt3305.c
parent2ba29f04ef6c89b77c469257ed249a94c52b8871 (diff)
parent0291002e9dcce64956346325ef3c35478c6c95b5 (diff)
downloadmediapointer-dvb-s2-e0dc20d13b71daf0612373420a45246e6566d61f.tar.gz
mediapointer-dvb-s2-e0dc20d13b71daf0612373420a45246e6566d61f.tar.bz2
merge: http://kernellabs.com/hg/~mkrufky/lgdt3305
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux/drivers/media/dvb/frontends/lgdt3305.c')
-rw-r--r--linux/drivers/media/dvb/frontends/lgdt3305.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/linux/drivers/media/dvb/frontends/lgdt3305.c b/linux/drivers/media/dvb/frontends/lgdt3305.c
index f0c0c8199..b16410c64 100644
--- a/linux/drivers/media/dvb/frontends/lgdt3305.c
+++ b/linux/drivers/media/dvb/frontends/lgdt3305.c
@@ -19,6 +19,7 @@
*
*/
+#include <asm/div64.h>
#include "compat.h"
#include <linux/dvb/frontend.h>
#include "dvb_math.h"
@@ -497,27 +498,15 @@ static int lgdt3305_set_if(struct lgdt3305_state *state,
nco = if_freq_khz / 10;
-#define LGDT3305_64BIT_DIVISION_ENABLED 0
- /* FIXME: 64bit division disabled to avoid linking error:
- * WARNING: "__udivdi3" [lgdt3305.ko] undefined!
- */
switch (param->u.vsb.modulation) {
case VSB_8:
-#if LGDT3305_64BIT_DIVISION_ENABLED
nco <<= 24;
- nco /= 625;
-#else
- nco *= ((1 << 24) / 625);
-#endif
+ do_div(nco, 625);
break;
case QAM_64:
case QAM_256:
-#if LGDT3305_64BIT_DIVISION_ENABLED
nco <<= 28;
- nco /= 625;
-#else
- nco *= ((1 << 28) / 625);
-#endif
+ do_div(nco, 625);
break;
default:
return -EINVAL;