On Sun, 11 May 2008 02:59:34 +0100 (BST), "Maciej W. Rozycki" <macro@xxxxxxxxxxxxxx> wrote: > If we agree on this one, I will retest and submit the whole batch again, > updated as needed. Works OK for me (m41t80 + i2c-gpio). Tested-by: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> One minor style comment. > + if (i2c_check_functionality(client->adapter, > + I2C_FUNC_SMBUS_WRITE_I2C_BLOCK)) { > + i = i2c_smbus_write_i2c_block_data(client, reg, num, buf); > + } else { > + for (i = 0; i < num; i++) { > + rc = i2c_smbus_write_byte_data(client, reg + i, > + buf[i]); > + if (rc < 0) { > + i = rc; > + goto out; > + } > + } > } > +out: > + return i; This part can be a bit shorter. if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WRITE_I2C_BLOCK)) return i2c_smbus_write_i2c_block_data(client, reg, num, buf); for (i = 0; i < num; i++) { rc = i2c_smbus_write_byte_data(client, reg + i, buf[i]); if (rc < 0) return rc; } return i; Saves 6 lines. Not a big issue. --- Atsushi Nemoto