i2c: use DIV_ROUND_UP macro to do calculation
authorZheng Yongjun <zhengyongjun3@huawei.com>
Tue, 22 Dec 2020 13:31:31 +0000 (21:31 +0800)
committerWolfram Sang <wsa@kernel.org>
Tue, 5 Jan 2021 16:37:02 +0000 (17:37 +0100)
Don't open-code DIV_ROUND_UP() kernel macro.

Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-imx.c

index b444fbf1a26255988ef94407583ebd6d08aef9c7..149e2898cd2f08d4eb38f38975c24f3f91e543bb 100644 (file)
@@ -537,7 +537,7 @@ static void i2c_imx_set_clk(struct imx_i2c_struct *i2c_imx,
 
        i2c_imx->cur_clk = i2c_clk_rate;
 
-       div = (i2c_clk_rate + i2c_imx->bitrate - 1) / i2c_imx->bitrate;
+       div = DIV_ROUND_UP(i2c_clk_rate, i2c_imx->bitrate);
        if (div < i2c_clk_div[0].div)
                i = 0;
        else if (div > i2c_clk_div[i2c_imx->hwdata->ndivs - 1].div)
@@ -555,8 +555,8 @@ static void i2c_imx_set_clk(struct imx_i2c_struct *i2c_imx,
         * This delay is used in I2C bus disable function
         * to fix chip hardware bug.
         */
-       i2c_imx->disable_delay = (500000U * i2c_clk_div[i].div
-               + (i2c_clk_rate / 2) - 1) / (i2c_clk_rate / 2);
+       i2c_imx->disable_delay = DIV_ROUND_UP(500000U * i2c_clk_div[i].div,
+                                             i2c_clk_rate / 2);
 
 #ifdef CONFIG_I2C_DEBUG_BUS
        dev_dbg(&i2c_imx->adapter.dev, "I2C_CLK=%d, REQ DIV=%d\n",