summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-02-09 20:16:03 -0300
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-15 08:49:32 -0700
commit98bde14156f5e705cc0e8b18e3062656fa131bb5 (patch)
treea3f9a15261990a23dd232d2fc7d7e11c17a0e197 /drivers/media
parent487d83f91be42bef0cc65e60532da721dd832a2f (diff)
V4L/DVB: dvb: l64781.ko broken with gcc 4.5
commit c1db53b36633e6a7511dbec7c372f01a31528f0c upstream. 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. Signed-off-by: Richard Guenther <rguenther@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/frontends/l64781.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/dvb/frontends/l64781.c b/drivers/media/dvb/frontends/l64781.c
index 3051b64aa17c..445fa1068064 100644
--- a/drivers/media/dvb/frontends/l64781.c
+++ b/drivers/media/dvb/frontends/l64781.c
@@ -192,8 +192,8 @@ static int apply_frontend_param (struct dvb_frontend* fe, struct dvb_frontend_pa
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;