arch/arm/plat-iop: Use DIV_ROUND_CLOSEST
authorJulia Lawall <julia@diku.dk>
Sun, 2 Aug 2009 08:46:45 +0000 (10:46 +0200)
committerDan Williams <dan.j.williams@intel.com>
Tue, 18 Aug 2009 21:06:52 +0000 (14:06 -0700)
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: Dan Williams <dan.j.williams@intel.com>
arch/arm/plat-iop/time.c

index 3695bbe..8da95d5 100644 (file)
@@ -85,7 +85,7 @@ void __init iop_init_time(unsigned long tick_rate)
 {
        u32 timer_ctl;
 
-       ticks_per_jiffy = (tick_rate + HZ/2) / HZ;
+       ticks_per_jiffy = DIV_ROUND_CLOSEST(tick_rate, HZ);
        ticks_per_usec = tick_rate / 1000000;
        next_jiffy_time = 0xffffffff;
        iop_tick_rate = tick_rate;