From patchwork Sat Aug 1 19:49:04 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julia Lawall X-Patchwork-Id: 38688 X-Patchwork-Delegate: dougsland@redhat.com Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n71JntXB012290 for ; Sat, 1 Aug 2009 19:49:55 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752177AbZHATtI (ORCPT ); Sat, 1 Aug 2009 15:49:08 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752171AbZHATtH (ORCPT ); Sat, 1 Aug 2009 15:49:07 -0400 Received: from mgw2.diku.dk ([130.225.96.92]:54087 "EHLO mgw2.diku.dk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752099AbZHATtG (ORCPT ); Sat, 1 Aug 2009 15:49:06 -0400 Received: from localhost (localhost [127.0.0.1]) by mgw2.diku.dk (Postfix) with ESMTP id 3D57519BCF3; Sat, 1 Aug 2009 21:49:06 +0200 (CEST) Received: from mgw2.diku.dk ([127.0.0.1]) by localhost (mgw2.diku.dk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 21297-18; Sat, 1 Aug 2009 21:49:04 +0200 (CEST) Received: from nhugin.diku.dk (nhugin.diku.dk [130.225.96.140]) by mgw2.diku.dk (Postfix) with ESMTP id 5D51C19BCF1; Sat, 1 Aug 2009 21:49:04 +0200 (CEST) Received: from ask.diku.dk (ask.diku.dk [130.225.96.225]) by nhugin.diku.dk (Postfix) with ESMTP id B21936DFB46; Sat, 1 Aug 2009 21:48:13 +0200 (CEST) Received: by ask.diku.dk (Postfix, from userid 3767) id 48641154DF9; Sat, 1 Aug 2009 21:49:04 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by ask.diku.dk (Postfix) with ESMTP id 4749B1549A9; Sat, 1 Aug 2009 21:49:04 +0200 (CEST) Date: Sat, 1 Aug 2009 21:49:04 +0200 (CEST) From: Julia Lawall To: laurent.pinchart@skynet.be, linux-media@vger.kernel.org, linux-uvc-devel@lists.berlios.de, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: [PATCH 2/5] drivers/media/video/uvc: Use DIV_ROUND_CLOSEST Message-ID: MIME-Version: 1.0 X-Virus-Scanned: amavisd-new at diku.dk Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org From: Julia Lawall 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/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Acked-by: Laurent Pinchart --- drivers/media/video/uvc/uvc_v4l2.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/media/video/uvc/uvc_v4l2.c b/drivers/media/video/uvc/uvc_v4l2.c index 87cb9cc..6edaaf6 100644 --- a/drivers/media/video/uvc/uvc_v4l2.c +++ b/drivers/media/video/uvc/uvc_v4l2.c @@ -95,7 +95,7 @@ static __u32 uvc_try_frame_interval(struct uvc_frame *frame, __u32 interval) const __u32 max = frame->dwFrameInterval[1]; const __u32 step = frame->dwFrameInterval[2]; - interval = min + (interval - min + step/2) / step * step; + interval = min + DIV_ROUND_CLOSEST(interval-min, step) * step; if (interval > max) interval = max; }