V4L/DVB: 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. Signed-off-by: Richard Guenther <rguenther@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> CC: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
f8b55f2510
commit
c1db53b366
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue