Messages in this thread Patch in this message | | | Date | Fri, 11 Sep 2020 09:31:56 +0200 | From | Mauro Carvalho Chehab <> | Subject | Re: linux-next: Tree for Sep 10 (drivers/media/pci/ttpci/dvb-ttpci) |
| |
Hi Randy,
Em Thu, 10 Sep 2020 09:02:35 -0700 Randy Dunlap <rdunlap@infradead.org> escreveu:
> On 9/10/20 12:42 AM, Stephen Rothwell wrote: > > Hi all, > > > > Changes since 20200909: > > > > > on i386: > > ERROR: modpost: "__floatunsidf" [drivers/media/pci/ttpci/dvb-ttpci.ko] undefined! > ERROR: modpost: "__ltdf2" [drivers/media/pci/ttpci/dvb-ttpci.ko] undefined! > > > Full randconfig file is attached.
I was unable to reproduce it here with the .config file you sent.
I suspect that the only difference is the compiler version. Here, I'm using:
gcc (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008
While you're using:
gcc (SUSE Linux) 7.5.0
Yet, the only patch that could possibly have affected it is this changeset 13c129066845 ("media: av7110_v4l: avoid a typecast").
It sounds to me that gcc 7.5.0 only does the right math at compile time if there is a typecast. Could you please check if the enclosed patch fixes it?
Thanks, Mauro
[PATCH] 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.
Reported-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
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;
| |