MIPS: Use DIV_ROUND_CLOSEST
authorJulia Lawall <julia@diku.dk>
Sun, 2 Aug 2009 08:48:08 +0000 (10:48 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 3 Aug 2009 16:52:46 +0000 (17:52 +0100)
The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
but is perhaps more readable.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@haskernel@
@@

#include <linux/kernel.h>

@depends on haskernel@
expression x,__divisor;
@@

- (((x) + ((__divisor) / 2)) / (__divisor))
+ DIV_ROUND_CLOSEST(x,__divisor)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/nxp/pnx8550/common/time.c

index 8df43e9..18b1927 100644 (file)
@@ -138,7 +138,7 @@ __init void plat_time_init(void)
         * HZ timer interrupts per second.
         */
        mips_hpt_frequency = 27UL * ((1000000UL * n)/(m * pow2p));
-       cpj = (mips_hpt_frequency + HZ / 2) / HZ;
+       cpj = DIV_ROUND_CLOSEST(mips_hpt_frequency, HZ);
        write_c0_count(0);
        timer_ack();