From patchwork Sun Sep 23 12:07:22 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Frank_Sch=C3=A4fer?= X-Patchwork-Id: 1495531 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 72665E006E for ; Sun, 23 Sep 2012 13:07:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753708Ab2IWNHj (ORCPT ); Sun, 23 Sep 2012 09:07:39 -0400 Received: from mail-we0-f174.google.com ([74.125.82.174]:46661 "EHLO mail-we0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753565Ab2IWNHh (ORCPT ); Sun, 23 Sep 2012 09:07:37 -0400 Received: by mail-we0-f174.google.com with SMTP id x8so2861227wey.19 for ; Sun, 23 Sep 2012 06:07:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=Sa1PlNpjWzPuWWnxnTVf3/3uwkxQqrFob/gYoU/d3pM=; b=sCjcow48E1Yzg950a5ocYKLnbEGBrO6465TOcDglbeLbQinnSL0UEMroP9ZiZxUVBu 74fCVjE1Jzxy/anmJY7xt2iCuhYb8JpzEGcO2quaIZxz5R+ddzxN9DTcb0TxAO7CUDg5 X58dLp25Av7GSi+fHjK2X9F/JqSGtjREZk4fUgSpQGbKoeFAgL4YMq3YlgIwEz4a5/Gj 4NW4qqiTMvpDXDxk1kcWCWMgz1Wr9NLlVuZQ8UzgwOI5av1YCqmBFDOrJzSPxmGsHYdU n+LIO2SrfKzuUtItEMWvWkhS8mNfvz1/Ki79nEon9TnLa2mnAdMEzW66+C092oQs0Ppe dqsw== Received: by 10.180.86.106 with SMTP id o10mr8251261wiz.22.1348405657225; Sun, 23 Sep 2012 06:07:37 -0700 (PDT) Received: from Athlon64X2-5000.site (ip-176-199-46-78.unitymediagroup.de. [176.199.46.78]) by mx.google.com with ESMTPS id hv8sm15631379wib.0.2012.09.23.06.07.36 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 23 Sep 2012 06:07:36 -0700 (PDT) From: =?UTF-8?q?Frank=20Sch=C3=A4fer?= To: g.liakhovetski@gmx.de Cc: linux-media@vger.kernel.org, =?UTF-8?q?Frank=20Sch=C3=A4fer?= Subject: [PATCH 3/3] ov2640: simplify single register writes Date: Sun, 23 Sep 2012 15:07:22 +0300 Message-Id: <1348402042-3538-3-git-send-email-fschaefer.oss@googlemail.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1348402042-3538-1-git-send-email-fschaefer.oss@googlemail.com> References: <1348402042-3538-1-git-send-email-fschaefer.oss@googlemail.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Signed-off-by: Frank Schäfer --- drivers/media/i2c/soc_camera/ov2640.c | 21 ++++++++++++--------- 1 Datei geändert, 12 Zeilen hinzugefügt(+), 9 Zeilen entfernt(-) diff --git a/drivers/media/i2c/soc_camera/ov2640.c b/drivers/media/i2c/soc_camera/ov2640.c index 182d5a1..70b222f 100644 --- a/drivers/media/i2c/soc_camera/ov2640.c +++ b/drivers/media/i2c/soc_camera/ov2640.c @@ -639,17 +639,23 @@ static struct ov2640_priv *to_ov2640(const struct i2c_client *client) subdev); } +static int ov2640_write_single(struct i2c_client *client, u8 reg, u8 val) +{ + int ret; + + ret = i2c_smbus_write_byte_data(client, reg, val); + dev_vdbg(&client->dev, "write: 0x%02x, 0x%02x", reg, val); + + return ret; +} + static int ov2640_write_array(struct i2c_client *client, const struct regval_list *vals) { int ret; while ((vals->reg_num != 0xff) || (vals->value != 0xff)) { - ret = i2c_smbus_write_byte_data(client, - vals->reg_num, vals->value); - dev_vdbg(&client->dev, "array: 0x%02x, 0x%02x", - vals->reg_num, vals->value); - + ret = ov2640_write_single(client, vals->reg_num, vals->value); if (ret < 0) return ret; vals++; @@ -704,13 +710,10 @@ static int ov2640_s_ctrl(struct v4l2_ctrl *ctrl) struct v4l2_subdev *sd = &container_of(ctrl->handler, struct ov2640_priv, hdl)->subdev; struct i2c_client *client = v4l2_get_subdevdata(sd); - struct regval_list regval; int ret; u8 val; - regval.reg_num = BANK_SEL; - regval.value = BANK_SEL_SENS; - ret = ov2640_write_array(client, ®val); + ret = ov2640_write_single(client, BANK_SEL, BANK_SEL_SENS); if (ret < 0) return ret;