drivers/ide/ide-cd.c: Use DIV_ROUND_CLOSEST
authorJulia Lawall <julia@diku.dk>
Sun, 2 Aug 2009 20:19:05 +0000 (13:19 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 7 Aug 2009 17:42:58 +0000 (10:42 -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>
Acked-by: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/ide/ide-cd.c

index 6a9a769..ad0ab0c 100644 (file)
@@ -1146,8 +1146,8 @@ void ide_cdrom_update_speed(ide_drive_t *drive, u8 *buf)
        ide_debug_log(IDE_DBG_PROBE, "curspeed: %u, maxspeed: %u",
                                     curspeed, maxspeed);
 
-       cd->current_speed = (curspeed + (176/2)) / 176;
-       cd->max_speed = (maxspeed + (176/2)) / 176;
+       cd->current_speed = DIV_ROUND_CLOSEST(curspeed, 176);
+       cd->max_speed = DIV_ROUND_CLOSEST(maxspeed, 176);
 }
 
 #define IDE_CD_CAPABILITIES \