Hi Ed, On Mon, 05 Jan 2009 09:41:01 -0800, Ed Swierk wrote: > [Resent to correct linux-i2c address] > > Following up to Sebastien Barre's recent patch, here I go one step > further, replacing i2c block transfers with SMBus byte transfers. Please, no. Adding a compatibility quirk may be acceptable, but forcing everyone to use it instead of the more efficient original code is not fair. > Sticking to pure SMBus makes the driver work on our board, which has an > nVidia SMBus controller driving a DS1339; nforce2 controllers > unfortunately don't support any flavor of i2c block transfer. Are you certain the nForce2 controllers can't do it? The i2c-nforce2 driver doesn't implement it, but this doesn't mean the hardware can't do it. I don't have any datasheet for these chips, but I know their SMBus implementation is very similar to those of the AMD 8111, and i2c-amd8111 has support for I2C block reads and writes. I think it would be worth giving it a try, by copying the i2c-amd8111 implementation into the i2c-nforce2 driver and seeing if it happens to just work. If it works, that would be more elegant than your proposed hack to the rtc-ds1307 driver. > Reading or writing registers repeatedly until they stick is rather > nauseating but I'm aiming for correctness if not elegance. I would > appreciate any suggestions for improvement. See above. -- Jean Delvare -- 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