linux/drivers/i2c/chips
Jean Delvare 1b4dff9cd3 i2c/eeprom: Fall back to SMBus read word transactions
When I2C block reads are not supported by the underlying adapter, use
SMBus read word transactions instead of consecutive byte reads.
Reasons for this change are:

* The consecutive byte read approach is not safe on multi-master buses.

* While consecutive byte reads have less overhead if you only count the
  bytes on the bus, it takes more than twice as many transactions as
  with SMBus read word transactions, and each transaction has a cost:
  taking and releasing the adapter mutex, and for polling drivers,
  waiting for the transaction to complete.

This change yields a significant performance boost at HZ=250 with
EEPROMs on an Intel 82801 bus (basically twice as fast.)

SMBus read word transactions are widely supported so I don't expect
compatibility issues.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
2008-07-14 22:38:29 +02:00
..
ds1682.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
eeprom.c i2c/eeprom: Fall back to SMBus read word transactions 2008-07-14 22:38:29 +02:00
isp1301_omap.c i2c: Replace remaining __FUNCTION__ occurrences 2008-04-22 22:16:47 +02:00
Kconfig ARM: OMAP: I2C: tps65010 driver converts to gpiolib 2008-04-14 09:57:06 -07:00
Makefile i2c: chips subdirectory is deprecated 2008-03-12 14:15:00 +01:00
max6875.c i2c/max6875: Really prevent 24RF08 corruption 2008-05-18 20:49:41 +02:00
menelaus.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
pca9539.c i2c: __must_check fixes (chip drivers) 2006-09-26 15:38:51 -07:00
pcf8574.c hwmon: Discard useless I2C driver IDs 2008-02-07 20:39:44 -05:00
pcf8575.c i2c: normal_i2c can be made const (remaining drivers) 2008-01-27 18:14:47 +01:00
pcf8591.c hwmon: Discard useless I2C driver IDs 2008-02-07 20:39:44 -05:00
tps65010.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
tsl2550.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00