DIV_ROUND_UP is bit useful than series of "/" and "%" operations.
Replace "/%" sequence with DIV_ROUND_UP macro.

Signed-off-by: Ivan Safonov <insafo...@gmail.com>
---
Changes in v2:
 - little style fix

 drivers/usb/musb/cppi_dma.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c
index c4fabe95..a13bd36 100644
--- a/drivers/usb/musb/cppi_dma.c
+++ b/drivers/usb/musb/cppi_dma.c
@@ -582,9 +582,10 @@ cppi_next_tx_segment(struct musb *musb, struct 
cppi_channel *tx)
                maxpacket = length;
                n_bds = 1;
        } else {
-               n_bds = length / maxpacket;
-               if (!length || (length % maxpacket))
-                       n_bds++;
+               if (length)
+                       n_bds = DIV_ROUND_UP(length, maxpacket);
+               else
+                       n_bds = 1;
                n_bds = min(n_bds, (unsigned) NUM_TXCHAN_BD);
                length = min(n_bds * maxpacket, length);
        }
@@ -790,9 +791,7 @@ cppi_next_rx_segment(struct musb *musb, struct cppi_channel 
*rx, int onepacket)
                        n_bds = 0xffff / maxpacket;
                        length = n_bds * maxpacket;
                } else {
-                       n_bds = length / maxpacket;
-                       if (length % maxpacket)
-                               n_bds++;
+                       n_bds = DIV_ROUND_UP(length, maxpacket);
                }
                if (n_bds == 1)
                        onepacket = 1;
-- 
2.10.2

Reply via email to