Hi Marc, Ben,

On Tue, 7 Dec 2010 12:30:11 +0000, Ben Dooks wrote:
> On Tue, Dec 07, 2010 at 12:10:10PM +0000, Mark Brown wrote:
> > On Tue, Dec 07, 2010 at 11:07:05AM +0100, Jean Delvare wrote:
> > > The I2C specification explicitly describes both SDA and SCL as
> > > bidirectional lines. An I2C master with a read-only SCL is thus not
> > > compliant. If a slow slave stretches the clock, errors will happen,
> > > so the bus can't be considered as reliable.
> > > 
> > > Signed-off-by: Jean Delvare <[email protected]>
> > 
> > It'd be good to also flag this via sysfs so that it's more readily
> > visible to things like diagnostic tools.

In what form do you expect this, and what do you expect diagnostic
tools to do about it?

I can't think of anything straightforward and useful. We could abuse
one functionality flag for unreliable masters, but then this is a
boolean flag, with no way to report the actual problem to the customer.
And write-only SCL is only one thing they can do wrongly.

> Could be, I wonder how many other hardware based adapters just don't
> do this. Quite a few devices i've seen don't use it as they're generally
> fast enough, or implement some other status polling system.

I don't know either, and I didn't mean to provide a general solution to
this problem as I have no clue so far that a general problem exists.
This patch is in response to the thread started by Matthias Zacharias
where we were troubleshooting his I2C bus problems. I just wanted to
make sure that the same problem doesn't happen again, i.e. developers
don't set getscl to NULL in the hope that it will help in any way.

I don't know of that many pieces of hardware driven by i2c-algo-bit and
not having a bidirectional SCL line. In fact I only know of the
i2c-parport, i2c-parport-light and i2c-gpio drivers doing this, and
then again, only for some of the supported devices. So I'm not sure
there is much point in spending a lot of time on this.

Or, to make it clearer, you can spend as much time as _you_ want on
this, but I won't. I'm busy enough as is.

-- 
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to