[media] zl10353: use div_u64 instead of do_div
authorArnd Bergmann <arnd@arndb.de>
Fri, 12 Feb 2016 14:27:18 +0000 (12:27 -0200)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Fri, 6 May 2016 11:44:17 +0000 (08:44 -0300)
Using div_u64() instead of do_div() makes the code slightly more
readable by humans.

[mchehab@osg.samsung.org: originally, this patch was proposed as a bug
 fix for a gcc bug. This was solved already, but it is still better to
 use div_u64, instead of do_div, so I'm applying it, removing the
 comments about the gcc bug]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/dvb-frontends/zl10353.c

index 1832c2f..3b08176 100644 (file)
@@ -135,8 +135,7 @@ static void zl10353_calc_nominal_rate(struct dvb_frontend *fe,
 
        value = (u64)10 * (1 << 23) / 7 * 125;
        value = (bw * value) + adc_clock / 2;
-       do_div(value, adc_clock);
-       *nominal_rate = value;
+       *nominal_rate = div_u64(value, adc_clock);
 
        dprintk("%s: bw %d, adc_clock %d => 0x%x\n",
                __func__, bw, adc_clock, *nominal_rate);
@@ -163,8 +162,7 @@ static void zl10353_calc_input_freq(struct dvb_frontend *fe,
                if (ife > adc_clock / 2)
                        ife = adc_clock - ife;
        }
-       value = (u64)65536 * ife + adc_clock / 2;
-       do_div(value, adc_clock);
+       value = div_u64((u64)65536 * ife + adc_clock / 2, adc_clock);
        *input_freq = -value;
 
        dprintk("%s: if2 %d, ife %d, adc_clock %d => %d / 0x%x\n",