From: Julia Lawall The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Cc: James Bottomley Signed-off-by: Andrew Morton --- drivers/scsi/esp_scsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/scsi/esp_scsi.c~drivers-scsi-use-div_round_up drivers/scsi/esp_scsi.c --- a/drivers/scsi/esp_scsi.c~drivers-scsi-use-div_round_up +++ a/drivers/scsi/esp_scsi.c @@ -1464,7 +1464,7 @@ static void esp_msgin_sdtr(struct esp *e one_clock = esp->ccycle / 1000; rounded_up = (period << 2); - rounded_up = (rounded_up + one_clock - 1) / one_clock; + rounded_up = DIV_ROUND_UP(rounded_up, one_clock); stp = rounded_up; if (stp && esp->rev >= FAS236) { if (stp >= 50) _