[media] m88ds3103: use kernel macro to round division
authorAntti Palosaari <crope@iki.fi>
Wed, 20 Nov 2013 01:37:55 +0000 (22:37 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 19 Dec 2013 11:21:11 +0000 (09:21 -0200)
DIV_ROUND_CLOSEST does the job and looks better.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/dvb-frontends/m88ds3103.c

index e07e8d6..bd9effa 100644 (file)
@@ -460,8 +460,7 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
        if (ret)
                goto err;
 
-       u16tmp = (((c->symbol_rate / 1000) << 15) + (M88DS3103_MCLK_KHZ / 4)) /
-                       (M88DS3103_MCLK_KHZ / 2);
+       u16tmp = DIV_ROUND_CLOSEST((c->symbol_rate / 1000) << 15, M88DS3103_MCLK_KHZ / 2);
        buf[0] = (u16tmp >> 0) & 0xff;
        buf[1] = (u16tmp >> 8) & 0xff;
        ret = m88ds3103_wr_regs(priv, 0x61, buf, 2);
@@ -484,7 +483,7 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
                        (tuner_frequency - c->frequency));
 
        s32tmp = 0x10000 * (tuner_frequency - c->frequency);
-       s32tmp = (2 * s32tmp + M88DS3103_MCLK_KHZ) / (2 * M88DS3103_MCLK_KHZ);
+       s32tmp = DIV_ROUND_CLOSEST(s32tmp, M88DS3103_MCLK_KHZ);
        if (s32tmp < 0)
                s32tmp += 0x10000;