staging: octeon-usb: use DIV_ROUND_UP
authorTapasweni Pathak <tapaswenipathak@gmail.com>
Wed, 8 Oct 2014 17:26:57 +0000 (22:56 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Oct 2014 02:29:20 +0000 (10:29 +0800)
The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /
(d)) but is perhaps more readable.

Coccinelle script used :

// <smpl>
@haskernel@
@@
@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)
// </smpl>

Signed-off-by: Tapasweni Pathak <tapaswenipathak@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/octeon-usb/octeon-hcd.c

index 6ddde6af7e3a41171cf7c04e3bcb9c83186fe3ea..7ac64efc652095a6f88d8937c7bfb51756729d01 100644 (file)
@@ -743,7 +743,7 @@ static int cvmx_usb_initialize(struct cvmx_usb_state *usb,
         *     such that USB is as close as possible to 125Mhz
         */
        {
-               int divisor = (octeon_get_clock_rate()+125000000-1)/125000000;
+               int divisor = DIV_ROUND_UP(octeon_get_clock_rate(), 125000000);
                /* Lower than 4 doesn't seem to work properly */
                if (divisor < 4)
                        divisor = 4;
@@ -1606,8 +1606,8 @@ static void __cvmx_usb_start_channel_control(struct cvmx_usb_state *usb,
         * Calculate the number of packets to transfer. If the length is zero
         * we still need to transfer one packet
         */
-       packets_to_transfer = (bytes_to_transfer + pipe->max_packet - 1) /
-               pipe->max_packet;
+       packets_to_transfer = DIV_ROUND_UP(bytes_to_transfer,
+                                          pipe->max_packet);
        if (packets_to_transfer == 0)
                packets_to_transfer = 1;
        else if ((packets_to_transfer > 1) &&
@@ -1852,8 +1852,7 @@ static void __cvmx_usb_start_channel(struct cvmx_usb_state *usb,
                 * zero we still need to transfer one packet
                 */
                packets_to_transfer =
-                       (bytes_to_transfer + pipe->max_packet - 1) /
-                       pipe->max_packet;
+                       DIV_ROUND_UP(bytes_to_transfer, pipe->max_packet);
                if (packets_to_transfer == 0)
                        packets_to_transfer = 1;
                else if ((packets_to_transfer > 1) &&