From: Masahiro Yamada Date: Fri, 11 Jul 2014 11:29:03 +0000 (+0900) Subject: serial: ns16550: use DIV_ROUND_CLOSEST macro to compute the divisor X-Git-Tag: v2014.10-rc1~105 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f8c7c2033df1f8aa1cd329292f01e87972d84535;p=u-boot serial: ns16550: use DIV_ROUND_CLOSEST macro to compute the divisor The function still returns the same value. The comment block is no longer necessary because our intention is clear enough by using DIV_ROUND_CLOSEST() macro. Signed-off-by: Masahiro Yamada --- diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c index 056ef2a9a1..49e2c1f14f 100644 --- a/drivers/serial/serial_ns16550.c +++ b/drivers/serial/serial_ns16550.c @@ -130,13 +130,9 @@ static int calc_divisor (NS16550_t port) #endif #define MODE_X_DIV 16 - /* Compute divisor value. Normally, we should simply return: - * CONFIG_SYS_NS16550_CLK) / MODE_X_DIV / gd->baudrate - * but we need to round that value by adding 0.5. - * Rounding is especially important at high baud rates. - */ - return (CONFIG_SYS_NS16550_CLK + (gd->baudrate * (MODE_X_DIV / 2))) / - (MODE_X_DIV * gd->baudrate); + + return DIV_ROUND_CLOSEST(CONFIG_SYS_NS16550_CLK, + MODE_X_DIV * gd->baudrate); } void