On Tue, Dec 07, 2010 at 04:29:33PM +0100, Jean Delvare wrote: > 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 <khali@xxxxxxxxxxxx> > > > > > > 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. Hmm, something to think about. > > 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. yes, sounds good. > 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. I was talking all hardware, not just ones integrated with this specific driver. Not to worry, this is just rambling on. -- Ben Q: What's a light-year? A: One-third less calories than a regular year. -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html