From: jacopo mondi <jacopo@jmondi.org>
To: Sakari Ailus <sakari.ailus@iki.fi>
Cc: Akinobu Mita <akinobu.mita@gmail.com>,
linux-media@vger.kernel.org, devicetree@vger.kernel.org,
Jacopo Mondi <jacopo+renesas@jmondi.org>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Hans Verkuil <hans.verkuil@cisco.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Mauro Carvalho Chehab <mchehab@s-opensource.com>
Subject: Re: [PATCH v2 01/10] media: ov772x: allow i2c controllers without I2C_FUNC_PROTOCOL_MANGLING
Date: Wed, 18 Apr 2018 14:12:04 +0200 [thread overview]
Message-ID: <20180418121204.GE20486@w540> (raw)
In-Reply-To: <20180418104154.lyqj4qipa3d44jb4@valkosipuli.retiisi.org.uk>
[-- Attachment #1: Type: text/plain, Size: 2331 bytes --]
Hi Sakari,
On Wed, Apr 18, 2018 at 01:41:54PM +0300, Sakari Ailus wrote:
> On Wed, Apr 18, 2018 at 12:05:49PM +0200, jacopo mondi wrote:
> > Hi Akinobu,
> >
> > On Mon, Apr 16, 2018 at 11:51:42AM +0900, Akinobu Mita wrote:
> > > The ov772x driver only works when the i2c controller have
> > > I2C_FUNC_PROTOCOL_MANGLING. However, many i2c controller drivers don't
> > > support it.
> > >
> > > The reason that the ov772x requires I2C_FUNC_PROTOCOL_MANGLING is that
> > > it doesn't support repeated starts.
> > >
> > > This changes the reading ov772x register method so that it doesn't
> > > require I2C_FUNC_PROTOCOL_MANGLING by calling two separated i2c messages.
> > >
> > > Cc: Jacopo Mondi <jacopo+renesas@jmondi.org>
> > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > Cc: Hans Verkuil <hans.verkuil@cisco.com>
> > > Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
> > > Cc: Mauro Carvalho Chehab <mchehab@s-opensource.com>
> > > Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
> > > ---
> > > * v2
> > > - Replace the implementation of ov772x_read() instead of adding an
> > > alternative method
> >
> > I now wonder if my initial reply to this patch was wrong, and where
> > possible we should try to use smbus operations...
> >
> > From Documentation/i2c/smbus-protocol
> > "If you write a driver for some I2C device, please try to use the SMBus
> > commands if at all possible... " and that's because, according to
> > documentation, most I2c adapters support smbus protocol but may not
> > support the full i2c command set.
> >
> > The fact this driver then restricts the supported adapters to the ones
> > that support protocol mangling makes me think your change is fine,
> > but as it often happens, I would scale this to more knowledgable
> > people...
>
> Do you actually need to use this on SMBus adapters? A lot of sensor drivers
> just use I²C; if SMBus support is really needed it can be always added back
> later on...
That was actually my question, sorry for not being clear.
As the documentation says that SMBus has to be preferred when
possible, I was wondering if ditching it completely in favour of plain
I2c was wrong or not... I assume from your answer it is fine.
>
> --
> Sakari Ailus
> e-mail: sakari.ailus@iki.fi
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2018-04-18 12:12 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-16 2:51 [PATCH v2 00/10] media: ov772x: support media controller, device tree probing, etc Akinobu Mita
2018-04-16 2:51 ` [PATCH v2 01/10] media: ov772x: allow i2c controllers without I2C_FUNC_PROTOCOL_MANGLING Akinobu Mita
2018-04-18 10:05 ` jacopo mondi
2018-04-18 10:41 ` Sakari Ailus
2018-04-18 10:41 ` Sakari Ailus
2018-04-18 12:12 ` jacopo mondi [this message]
2018-04-16 2:51 ` [PATCH v2 02/10] media: ov772x: add checks for register read errors Akinobu Mita
2018-04-18 10:13 ` jacopo mondi
2018-04-16 2:51 ` [PATCH v2 03/10] media: ov772x: create subdevice device node Akinobu Mita
2018-04-16 10:56 ` Sakari Ailus
2018-04-16 2:51 ` [PATCH v2 04/10] media: ov772x: add media controller support Akinobu Mita
2018-04-18 11:28 ` jacopo mondi
2018-04-18 11:58 ` Sakari Ailus
2018-04-18 12:13 ` jacopo mondi
2018-04-18 13:05 ` Sakari Ailus
2018-04-16 2:51 ` [PATCH v2 05/10] media: ov772x: use generic names for reset and powerdown gpios Akinobu Mita
2018-04-18 11:34 ` jacopo mondi
2018-04-16 2:51 ` [PATCH v2 06/10] media: dt-bindings: ov772x: add device tree binding Akinobu Mita
2018-04-16 21:36 ` Rob Herring
2018-04-18 11:35 ` jacopo mondi
2018-04-16 2:51 ` [PATCH v2 07/10] media: ov772x: support device tree probing Akinobu Mita
2018-04-18 11:48 ` jacopo mondi
2018-04-16 2:51 ` [PATCH v2 08/10] media: ov772x: handle nested s_power() calls Akinobu Mita
2018-04-18 12:41 ` jacopo mondi
2018-04-19 16:21 ` Akinobu Mita
2018-04-16 2:51 ` [PATCH v2 09/10] media: ov772x: reconstruct s_frame_interval() Akinobu Mita
2018-04-16 2:51 ` [PATCH v2 10/10] media: ov772x: avoid accessing registers under power saving mode Akinobu Mita
2018-04-16 10:55 ` Sakari Ailus
2018-04-17 16:52 ` Akinobu Mita
2018-04-18 12:55 ` jacopo mondi
2018-04-18 13:17 ` Sakari Ailus
2018-04-18 13:34 ` jacopo mondi
2018-04-20 16:35 ` Akinobu Mita
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180418121204.GE20486@w540 \
--to=jacopo@jmondi.org \
--cc=akinobu.mita@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=hans.verkuil@cisco.com \
--cc=jacopo+renesas@jmondi.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@s-opensource.com \
--cc=sakari.ailus@iki.fi \
--cc=sakari.ailus@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.