[PATCH] i2c: s3c2410: Add SMBus emulation for block read
Wolfram Sang
wsa at the-dreams.de
Tue Apr 9 05:37:39 EDT 2013
On Tue, Mar 26, 2013 at 07:59:56PM +0530, Prasanna Kumar wrote:
> From: Jaemin Yoo <jmin.yoo at samsung.com>
>
> 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 at samsung.com>
> Tested-by: Prasanna Kumar <prasanna.ps at samsung.com>
Applied to for-next, thanks!
More information about the linux-arm-kernel
mailing list