From patchwork Fri Sep 28 12:46:57 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guennadi Liakhovetski X-Patchwork-Id: 1519091 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 8E4B73FE80 for ; Fri, 28 Sep 2012 12:47:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757403Ab2I1MrT (ORCPT ); Fri, 28 Sep 2012 08:47:19 -0400 Received: from moutng.kundenserver.de ([212.227.17.8]:55770 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755977Ab2I1MrH (ORCPT ); Fri, 28 Sep 2012 08:47:07 -0400 Received: from axis700.grange (dslb-178-001-143-176.pools.arcor-ip.net [178.1.143.176]) by mrelayeu.kundenserver.de (node=mreu1) with ESMTP (Nemesis) id 0MLTGA-1TI8CW0fQI-000caW; Fri, 28 Sep 2012 14:47:06 +0200 Received: from 6a.grange (6a.grange [192.168.1.11]) by axis700.grange (Postfix) with ESMTPS id 5A84E189AF7; Fri, 28 Sep 2012 14:47:04 +0200 (CEST) Received: from lyakh by 6a.grange with local (Exim 4.72) (envelope-from ) id 1THZyC-0001E6-2V; Fri, 28 Sep 2012 14:47:04 +0200 From: Guennadi Liakhovetski To: linux-media@vger.kernel.org Cc: Hans Verkuil Subject: [PATCH 1/7] media: sh_mobile_ceu_camera: fix const cropping related warnings Date: Fri, 28 Sep 2012 14:46:57 +0200 Message-Id: <1348836424-4672-2-git-send-email-g.liakhovetski@gmx.de> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: <1348836424-4672-1-git-send-email-g.liakhovetski@gmx.de> References: <1348836424-4672-1-git-send-email-g.liakhovetski@gmx.de> X-Provags-ID: V02:K0:kk5EJdc6Ohu0sPlUh6nJJw1sQoTdB7G32Opz1IRMcUL z2Ua5HIMFKfpCXtc+2nxL/3NDxkslFlyzxOjL6Gq1TOUjp5RGP Dt7O/3gqckTeXatZdMfVx4OO2dDF9eEpg6zRNGx3zTdtXgRcxh s25s8SnDNQlWZKJlmsN5mt5aRU+LY7JOJt1c848WJDPVOGd6I7 1+iT1Y1BD1QV9axphvCziM3EGOzFjv5p2DTFLUZxWV7ZR8XPyZ KeuvHXhUZkqtpe7l9oijDvh1vQ3sKCqMiNAsKcxwTdc003IGc2 rxgkNfVGhKM3OQ1Ii9DEg2TVYIgbiwzPV9zgzK5MadGH9+zJ8X 8Vc/0Naj94lxrqgB6g6Mqk7IystFVLmLZxpD2+9KoRZ6BefFiz Bf1FdvRBAjyaQ== Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org A recent commit "[media] v4l2: make vidioc_s_crop const" introduced warnings in sh_mobile_ceu_camera. Fix them by cleanly separating writable and read-only variables in cropping operations. Signed-off-by: Guennadi Liakhovetski --- .../platform/soc_camera/sh_mobile_ceu_camera.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c b/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c index 78bcf23..4642e0d 100644 --- a/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c +++ b/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c @@ -1213,13 +1213,13 @@ static void sh_mobile_ceu_put_formats(struct soc_camera_device *icd) } /* Check if any dimension of r1 is smaller than respective one of r2 */ -static bool is_smaller(struct v4l2_rect *r1, struct v4l2_rect *r2) +static bool is_smaller(const struct v4l2_rect *r1, const struct v4l2_rect *r2) { return r1->width < r2->width || r1->height < r2->height; } /* Check if r1 fails to cover r2 */ -static bool is_inside(struct v4l2_rect *r1, struct v4l2_rect *r2) +static bool is_inside(const struct v4l2_rect *r1, const struct v4l2_rect *r2) { return r1->left > r2->left || r1->top > r2->top || r1->left + r1->width < r2->left + r2->width || @@ -1294,7 +1294,7 @@ static void update_subrect(struct sh_mobile_ceu_cam *cam) * 3. if (2) failed, try to request the maximum image */ static int client_s_crop(struct soc_camera_device *icd, struct v4l2_crop *crop, - const struct v4l2_crop *cam_crop) + struct v4l2_crop *cam_crop) { struct v4l2_subdev *sd = soc_camera_to_subdev(icd); struct v4l2_rect *rect = &crop->c, *cam_rect = &cam_crop->c; @@ -1550,7 +1550,8 @@ static int client_scale(struct soc_camera_device *icd, static int sh_mobile_ceu_set_crop(struct soc_camera_device *icd, const struct v4l2_crop *a) { - struct v4l2_rect *rect = &a->c; + struct v4l2_crop a_writable = *a; + const struct v4l2_rect *rect = &a_writable.c; struct device *dev = icd->parent; struct soc_camera_host *ici = to_soc_camera_host(dev); struct sh_mobile_ceu_dev *pcdev = ici->priv; @@ -1576,7 +1577,7 @@ static int sh_mobile_ceu_set_crop(struct soc_camera_device *icd, * 1. - 2. Apply iterative camera S_CROP for new input window, read back * actual camera rectangle. */ - ret = client_s_crop(icd, a, &cam_crop); + ret = client_s_crop(icd, &a_writable, &cam_crop); if (ret < 0) return ret; @@ -1977,7 +1978,7 @@ static int sh_mobile_ceu_try_fmt(struct soc_camera_device *icd, } static int sh_mobile_ceu_set_livecrop(struct soc_camera_device *icd, - struct v4l2_crop *a) + const struct v4l2_crop *a) { struct v4l2_subdev *sd = soc_camera_to_subdev(icd); struct soc_camera_host *ici = to_soc_camera_host(icd->parent);