[PATCH] max2165 32bit build patch

From: David T. L. Wong
Date: Thu Dec 03 2009 - 08:54:38 EST


Randy Dunlap wrote:
On Mon, 30 Nov 2009 10:07:21 -0800 Randy Dunlap wrote:

Stephen Rothwell wrote:
Hi all,

Changes since 20091127:

The v4l-dvb tree lost its conflict.

on i386 (X86_32):

a 'double' variable is used, causing:

ERROR: "__floatunsidf" [drivers/media/common/tuners/max2165.ko] undefined!
ERROR: "__adddf3" [drivers/media/common/tuners/max2165.ko] undefined!
ERROR: "__fixunsdfsi" [drivers/media/common/tuners/max2165.ko] undefined!


linux-next-20091202:

still have this one (above) and similar with
drivers/media/dvb/frontends/atbm8830.c:

drivers/built-in.o: In function `atbm8830_init':
atbm8830.c:(.text+0x9012f9): undefined reference to `__udivdi3'
atbm8830.c:(.text+0x901384): undefined reference to `__floatunsidf'
atbm8830.c:(.text+0x901395): undefined reference to `__muldf3'
atbm8830.c:(.text+0x9013a5): undefined reference to `__floatunsidf'
atbm8830.c:(.text+0x9013b2): undefined reference to `__divdf3'
atbm8830.c:(.text+0x9013c3): undefined reference to `__muldf3'
atbm8830.c:(.text+0x9013cd): undefined reference to `__fixunsdfsi'

---
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html

This patch drops usage of floating point variable for 32bit build

Signed-off-by: David T. L. Wong <davidtlwong@xxxxxxxxx> diff --git a/linux/drivers/media/common/tuners/max2165.c b/linux/drivers/media/common/tuners/max2165.c
--- a/linux/drivers/media/common/tuners/max2165.c
+++ b/linux/drivers/media/common/tuners/max2165.c
@@ -193,7 +193,7 @@
{
u8 tf;
u8 tf_ntch;
- double t;
+ u32 t;
u32 quotient, fraction;

/* Set PLL divider according to RF frequency */
@@ -217,9 +217,6 @@
t += (priv->tf_balun_hi_ref - priv->tf_balun_low_ref)
* (freq / 1000 - 470000) / (780000 - 470000);

-#if 0
- tf = t + 0.5; /* round up */
-#endif
tf = t;
dprintk("tf = %X\n", tf);
tf |= tf_ntch << 4;