V4L/DVB (8729): Use DIV_ROUND_UP
authorJulia Lawall <julia@diku.dk>
Wed, 20 Aug 2008 23:44:53 +0000 (20:44 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 12 Oct 2008 11:36:51 +0000 (09:36 -0200)
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/)

// <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: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/bw-qcam.c
drivers/media/video/uvc/uvc_video.c
drivers/media/video/zoran_device.c

index 6e39e25..01f0770 100644 (file)
@@ -495,7 +495,7 @@ static void qc_set(struct qcam_device *q)
                val2 = (((q->port_mode & QC_MODE_MASK) == QC_BIDIR) ? 24 : 8) *
                    q->transfer_scale;
        }
-       val = (val + val2 - 1) / val2;
+       val = DIV_ROUND_UP(val, val2);
        qc_command(q, 0x13);
        qc_command(q, val);
 
@@ -651,7 +651,7 @@ static long qc_capture(struct qcam_device * q, char __user *buf, unsigned long l
        transperline = q->width * q->bpp;
        divisor = (((q->port_mode & QC_MODE_MASK) == QC_BIDIR) ? 24 : 8) *
            q->transfer_scale;
-       transperline = (transperline + divisor - 1) / divisor;
+       transperline = DIV_ROUND_UP(transperline, divisor);
 
        for (i = 0, yield = yieldlines; i < linestotrans; i++)
        {
index 6854ac7..03dc3a5 100644 (file)
@@ -655,7 +655,7 @@ static int uvc_init_video_isoc(struct uvc_video_device *video,
        if (size > UVC_MAX_FRAME_SIZE)
                return -EINVAL;
 
-       npackets = (size + psize - 1) / psize;
+       npackets = DIV_ROUND_UP(size, psize);
        if (npackets > UVC_MAX_ISO_PACKETS)
                npackets = UVC_MAX_ISO_PACKETS;
 
index 88d3697..2b3ca14 100644 (file)
@@ -377,7 +377,7 @@ zr36057_set_vfe (struct zoran              *zr,
 
        /* horizontal */
        VidWinWid = video_width;
-       X = (VidWinWid * 64 + tvn->Wa - 1) / tvn->Wa;
+       X = DIV_ROUND_UP(VidWinWid * 64, tvn->Wa);
        We = (VidWinWid * 64) / X;
        HorDcm = 64 - X;
        hcrop1 = 2 * ((tvn->Wa - We) / 4);
@@ -403,7 +403,7 @@ zr36057_set_vfe (struct zoran              *zr,
        /* Vertical */
        DispMode = !(video_height > BUZ_MAX_HEIGHT / 2);
        VidWinHt = DispMode ? video_height : video_height / 2;
-       Y = (VidWinHt * 64 * 2 + tvn->Ha - 1) / tvn->Ha;
+       Y = DIV_ROUND_UP(VidWinHt * 64 * 2, tvn->Ha);
        He = (VidWinHt * 64) / Y;
        VerDcm = 64 - Y;
        vcrop1 = (tvn->Ha / 2 - He) / 2;