summary refs log tree commit diff
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-09-11 09:27:35 +0200
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-09-12 09:39:37 +0200
commit5e8db34966222c34d7e98767a2d54b6bb3aa248d (patch)
tree4a2198a60153f88329a82eee50f2cbff2da22310
parent93c16fabdb74a9c1a427402fc1fe588a45130c5b (diff)
downloadlinux-5e8db34966222c34d7e98767a2d54b6bb3aa248d.tar.gz
media: av7110: don't do float point math
It sounds that earlier versions of GCC have troubles when
doing const math at compile time, if no typecast is used:

on i386:
	ERROR: modpost: "__floatunsidf" [drivers/media/pci/ttpci/dvb-ttpci.ko] undefined!
	ERROR: modpost: "__ltdf2" [drivers/media/pci/ttpci/dvb-ttpci.ko] undefined!

The warning was generated on gcc (SUSE Linux) 7.5.0.
Gcc 9.2 compiles it fine.

As an added bonus, it also fixes this objtool warning:

	drivers/media/pci/ttpci/av7110_v4l.c:163:11: error: SSE register return with SSE disabled

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-rw-r--r--drivers/media/pci/ttpci/av7110_v4l.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/pci/ttpci/av7110_v4l.c b/drivers/media/pci/ttpci/av7110_v4l.c
index 6d9c908be713..c89f536f699c 100644
--- a/drivers/media/pci/ttpci/av7110_v4l.c
+++ b/drivers/media/pci/ttpci/av7110_v4l.c
@@ -160,9 +160,9 @@ static int ves1820_set_tv_freq(struct saa7146_dev *dev, u32 freq)
 	buf[1] = div & 0xff;
 	buf[2] = 0x8e;
 
-	if (freq < 16U * 168.25)
+	if (freq < 16U * 16825 / 100)
 		config = 0xa0;
-	else if (freq < 16U * 447.25)
+	else if (freq < 16U * 44725 / 100)
 		config = 0x90;
 	else
 		config = 0x30;