The patch number 14189 was added via Douglas Schilling Landgraf 
<dougsl...@redhat.com>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        Linux Media Mailing List <linux-me...@vger.kernel.org>

------

From: Richard Guenther  <rguent...@suse.de>
dvb: l64781.ko broken with gcc 4.5


I'm trying to fix it on the GCC side (PR43007), but the module is
    quite stupid in using ULL constants to operate on u32 values:

    static int apply_frontend_param (struct dvb_frontend* fe, struct
    dvb_frontend_parameters *param)
    {
    ...
     static const u32 ppm = 8000;
     u32 spi_bias;
    ...

     spi_bias *= 1000ULL;
     spi_bias /= 1000ULL + ppm/1000;

which causes current GCC 4.5 to emit calls to __udivdi3 for i?86 again.

This patch fixes this issue.

Priority: normal

Signed-off-by: Richard Guenther <rguent...@suse.de>
Signed-off-by: Greg Kroah-Hartman <gre...@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com>
Signed-off-by: Douglas Schilling Landgraf <dougsl...@redhat.com>


---

 linux/drivers/media/dvb/frontends/l64781.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff -r 6d7f51029f2f -r fb88790cd6d4 linux/drivers/media/dvb/frontends/l64781.c
--- a/linux/drivers/media/dvb/frontends/l64781.c        Thu Feb 11 15:11:13 
2010 -0200
+++ b/linux/drivers/media/dvb/frontends/l64781.c        Thu Feb 11 15:12:46 
2010 -0200
@@ -192,8 +192,8 @@
        spi_bias *= qam_tab[p->constellation];
        spi_bias /= p->code_rate_HP + 1;
        spi_bias /= (guard_tab[p->guard_interval] + 32);
-       spi_bias *= 1000ULL;
-       spi_bias /= 1000ULL + ppm/1000;
+       spi_bias *= 1000;
+       spi_bias /= 1000 + ppm/1000;
        spi_bias *= p->code_rate_HP;
 
        val0x04 = (p->transmission_mode << 2) | p->guard_interval;


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/fb88790cd6d463d9fee03fe799288a4f2124e608

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to