Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp656527imm; Wed, 18 Jul 2018 08:29:59 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcXeJVogcit/nL9+vQJSEJfzAG9aC3egGLRsKObaL0f/BYiPUDIhOczRjep7+YSJl4LuKLp X-Received: by 2002:a17:902:6b4c:: with SMTP id g12-v6mr6276479plt.159.1531927799752; Wed, 18 Jul 2018 08:29:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531927799; cv=none; d=google.com; s=arc-20160816; b=LGF7lfzJjVEnMazcwlLEDPAO32gfPBpsD2r4DNcr0Bs3VFa+pL0jFpGmXhVWlouLJo 64UqQNkGAhmkB9QSeYakZ8EAJHg2xajD/tbsffMTwg8+eSaQ8BbvUCCpzXG0rZQgxLf7 /D0WcwMFiOzkP+d0hhHJWrP9HDg6ME/voPw6z9SjilvjXueXejALzjHG185sXZX77pTL ECrNx8OcxVE8QcQxg+UXHufR3kEanxjCVmaiS8PjACFr/7KsxmlcM8jWKfkfGqLojoXh cfbl5vdb1DctVfgmpqgmv7taQBIuNgxmRQUstfZYZKCUg4Jl5X+LpWslvlzZ88uW7plD PFPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=IEjd4D1LM9g1t4VxgwL0CVdvYiKbrzE9M/nuI8Zi4o4=; b=CSE5N6banbKZi0liJnUZLRBqNsjGUDmDpAsYCQo/mGnPfwZFJhEfao25/OGToa1dDf wzh17iw+jw02lXrtMY7yekkw0lq8qMxfVIAHzYNuqTa5y95LQKVb7BHUrcY7Pf9WSfyx O4VBElhEsrDgHtgKUOaHMtBifXkoYkEZpvJpcYsrTAjDguqs32QV9fQMVb7t5vyInm6e u8njlTIpk6wCALO4eJf3OMB7Ac8DfpHUkqNr+tdvW0e0bxGq9gh6Zm1LlsY0NsaefnQx B0VItLse6lmeKbM4I+kppRCXBW8FCOlwUFaOCB9OB5nrwUM2SbvSiQKvz1KxCqsI6kY1 y1AQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z2-v6si3576692pfb.365.2018.07.18.08.29.44; Wed, 18 Jul 2018 08:29:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731313AbeGRQHA (ORCPT + 99 others); Wed, 18 Jul 2018 12:07:00 -0400 Received: from sauhun.de ([88.99.104.3]:43250 "EHLO pokefinder.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730996AbeGRQHA (ORCPT ); Wed, 18 Jul 2018 12:07:00 -0400 Received: from localhost (p54B335A7.dip0.t-ipconnect.de [84.179.53.167]) by pokefinder.org (Postfix) with ESMTPSA id DA0F05E000F; Wed, 18 Jul 2018 17:28:32 +0200 (CEST) Date: Wed, 18 Jul 2018 17:28:32 +0200 From: Wolfram Sang To: Akinobu Mita Cc: linux-media@vger.kernel.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Mark Brown , Peter Rosin , Sebastian Reichel , Sylwester Nawrocki , Jacopo Mondi , Laurent Pinchart , Hans Verkuil , Sakari Ailus , Mauro Carvalho Chehab Subject: Re: [PATCH -next v4 1/3] regmap: add SCCB support Message-ID: <20180718152832.ylu6rlcsaom2q4xm@ninjato> References: <1531756070-8560-1-git-send-email-akinobu.mita@gmail.com> <1531756070-8560-2-git-send-email-akinobu.mita@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="vom6revifzdsh7p6" Content-Disposition: inline In-Reply-To: <1531756070-8560-2-git-send-email-akinobu.mita@gmail.com> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --vom6revifzdsh7p6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jul 17, 2018 at 12:47:48AM +0900, Akinobu Mita wrote: > This adds Serial Camera Control Bus (SCCB) support for regmap API that > is intended to be used by some of Omnivision sensor drivers. >=20 > The ov772x and ov9650 drivers are going to use this SCCB regmap API. >=20 > The ov772x driver was previously only worked with the i2c controller > drivers that support I2C_FUNC_PROTOCOL_MANGLING, because the ov772x > device doesn't support repeated starts. After commit 0b964d183cbf > ("media: ov772x: allow i2c controllers without > I2C_FUNC_PROTOCOL_MANGLING"), reading ov772x register is replaced with > issuing two separated i2c messages in order to avoid repeated start. > Using this SCCB regmap hides the implementation detail. >=20 > The ov9650 driver also issues two separated i2c messages to read the > registers as the device doesn't support repeated start. So it can > make use of this SCCB regmap. Cool, this series really gets better and better each time. Thank you for keeping at it! And thanks to everyone for their suggestions. I really like how we do not introduce a couple of i2c_sccb_* functions with a need to export them. And given the nature of regmap, I'd think it should be fairly easy to add support for ov2659 somewhen which has 16 bit registers? Only minor nits: > +#include > +#include > +#include Sort these? > +/** > + * regmap_sccb_read - Read data from SCCB slave device > + * @context: Device that will be interacted wit "with" > + ret =3D __i2c_smbus_xfer(i2c->adapter, i2c->addr, i2c->flags, > + I2C_SMBUS_WRITE, reg, I2C_SMBUS_BYTE, NULL); Mark: __i2c_smbus_xfer is a dependency on i2c/for-next. Do you want an immutable branch for that? > +/** > + * regmap_sccb_write - Write data to SCCB slave device > + * @context: Device that will be interacted wit "with" But in general (especially for the I2C parts): Reviewed-by: Wolfram Sang --vom6revifzdsh7p6 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEOZGx6rniZ1Gk92RdFA3kzBSgKbYFAltPXJwACgkQFA3kzBSg KbaMww/8CxZhHTEM02/4oJgatS4pz9I/9AqBgUxNgIYWF32BEPKBVMr3Td8Z3pI7 L2B00WYTbgvqQ16zOFEHpPtkFGnPXPbdIpxnNeDM5IEw+rNe2igVUdcVRmN8Bdpi SKakv7pn4GyUUnrE5RslT4GoORbKG1lwood6GHUIMNd0dUt80AmjDYq35RSsSzpD 4JKTeH+EwYsd+CxuZj9z5g/CMpUdO6ikyLaBLbB0BggY/yVWC3tRtOUE/lfkh1yv 7SAn5zhbDseDZGd7WbYnRgNOU33OzPvjfNV4GWen+pqbJl9JfxiGOGz7PAzqJGNv 201UD3D5bEYBf8XhVUim2hOfhXydE8BBW2AMVRcBx/4X1HC9aaP7rzqU0SqZNvKq F5K5Eix6yUwCTTU1kXMA+jc/HRqx/oS7jaM3hP1JcegXFVYeOTWPCbhwSekazHW2 zGsKkUBxGuawTOCLQHfIQajUZt1wa8tnvvhwf3xzN82YxVcGW9hs46aecVy/3mFG FbL8dwf4vl8rRDU7Di5Qlx3M6FuVS8Q4XZ8ZiGoZCMDlhy3ls9AWs2+wH8fzoh66 hFKMYmZsJJNvrjt8TNm3YbV3Q7KzpPzm5c/zZCXwZ4p3+y3F6WqY+r1Xl2bctHin hXyNsYL+JWaIhL/m5FeWY65Ku6tPL1568jHFdnyL50vImZCFAUw= =Ar7Y -----END PGP SIGNATURE----- --vom6revifzdsh7p6--