linux/drivers/i2c
Jean Delvare ac7809414f i2c/tsl2550: Use combined SMBus transactions
Make the I/O faster, mainly by using combined SMBus transactions when
possible. While the TSL2550 datasheet doesn't say the device supports
them, they seem to work just fine in practice, and a combined
transaction is faster than two simple transactions in many cases and
always more reliable.

A side effect is to suppress the delays between SMBus writes and
reads. The datasheet doesn't say they are needed and things work just
fine for me without them.

I also couldn't see any reason for the delay between reading the two
channels. Nor for the loop to get a reading in the first place. The
400 ms delay between samples only matters at chip power-up, after that
the chip always hold the previously sampled value so we never get to
wait.

All these changes make reading the lux value much faster and cheaper.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Tested-by: Michele De Candia <michele.decandia@valueteam.com>
Cc: Rodolfo Giometti <giometti@linux.it>
2009-09-18 22:45:44 +02:00
..
algos i2c-algo-pca: Let PCA9564 recover from unacked data byte (state 0x30) 2009-05-05 08:39:25 +02:00
busses i2c-taos-evm: Switch echo off to improve performance 2009-09-18 22:45:43 +02:00
chips i2c/tsl2550: Use combined SMBus transactions 2009-09-18 22:45:44 +02:00
i2c-boardinfo.c i2c: Use rwsem instead of mutex for board info 2009-06-19 16:58:20 +02:00
i2c-core.c i2c: Use rwsem instead of mutex for board info 2009-06-19 16:58:20 +02:00
i2c-core.h i2c: Use rwsem instead of mutex for board info 2009-06-19 16:58:20 +02:00
i2c-dev.c i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT 2009-02-24 19:19:49 +01:00
Kconfig i2c: Let users select algorithm drivers manually again 2008-08-10 22:56:15 +02:00
Makefile i2c: Add i2c_board_info and i2c_new_device() 2007-05-01 23:26:31 +02:00