linux/drivers/i2c
Jaemin Yoo 85747311ec i2c: s3c2410: Add SMBus emulation for block read
SMBus read and write are supported by the emulation layer of i2c
framework if the controller doesn't have SMBus features.

I2C_M_RECV_LEN flag is used to let i2c drivers know rx length is not
yet determined but will be read to the first byte in rx buffer.

s3c2410 doesn't handle this flag. So only one byte is read from slave.
There fore following two features are added to the driver code.

1. skip rx length check if I2C_M_RECV_LEN is set and the length is 1.
2. add actual bytes to the rx length after reading first bytes if
   I2C_M_RECV_LEN.

I2C_M_RECV_LEN is only set for SMBus command. So this code does not
affect legacy codes which only use i2c command for s3c2410.

Signed-off-by: Jaemin Yoo <jmin.yoo@samsung.com>
Tested-by: Prasanna Kumar <prasanna.ps@samsung.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2013-04-09 11:23:05 +02:00
..
algos Linux 3.6-rc7 2012-10-08 12:46:32 +02:00
busses i2c: s3c2410: Add SMBus emulation for block read 2013-04-09 11:23:05 +02:00
muxes i2c: Ignore the return value of i2c_del_mux_adapter() 2013-04-02 07:07:29 +02:00
i2c-boardinfo.c
i2c-core.c i2c: Make return type of i2c_del_adapter() void 2013-04-02 07:06:17 +02:00
i2c-core.h
i2c-dev.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
i2c-mux.c i2c: Make the return type of i2c_del_mux_adapter() void 2013-04-02 07:07:32 +02:00
i2c-smbus.c i2c-smbus: Convert kzalloc to devm_kzalloc 2012-10-05 22:23:52 +02:00
i2c-stub.c i2c-stub: Move to drivers/i2c 2012-10-28 21:37:00 +01:00
Kconfig drivers/i2c: remove !S390 dependency, add missing GENERIC_HARDIRQS dependencies 2013-03-11 09:59:02 +01:00
Makefile i2c-stub: Move to drivers/i2c 2012-10-28 21:37:00 +01:00