On Mon, Feb 18, 2013 at 02:38:56PM +0100, Lars-Peter Clausen wrote: > Currently each time the temperature register is read the driver also reads the > threshold and hysteresis registers. This increases the amount of I2C traffic and > time needed to read the temperature by a factor of ~5. Neither the threshold nor > the hysteresis change on their own, so once we've read them, we should be able > to just use the cached value of the registers. This patch modifies the code > accordingly and only reads the threshold and hysteresis registers once during > probe. > > Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> > Just one comment (thanks to Hartmut), otherwise looks good. > --- > Changes since v1: > * Fix error checking for i2c reads > --- [ ... ] > +static int adt7410_fill_cache(struct i2c_client *client) > +{ > + struct adt7410_data *data = i2c_get_clientdata(client); > + int ret; > + int i; > + > + for (i = 1; i < ARRAY_SIZE(ADT7410_REG_TEMP); i++) { > + ret = i2c_smbus_read_word_swapped(client, ADT7410_REG_TEMP[i]); > + if (ret < 0) { > + dev_dbg(&client->dev, > + "Failed to read value: reg %d, error %d\n", > + ADT7410_REG_TEMP[0], ret); ADT7410_REG_TEMP[i] Thanks, Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html