i2c: qup: support SMBus block read
authorNaveen Kaje <nkaje@codeaurora.org>
Tue, 11 Oct 2016 16:27:57 +0000 (10:27 -0600)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 29 Nov 2016 21:43:38 +0000 (22:43 +0100)
commitcc9086e772b54a2399408af0bfb00bccb50a968b
tree40084b4cc5129430b779019adf3186d47e846a10
parent515da746983bc6382e380ba8b1ce9345a9550ffe
i2c: qup: support SMBus block read

I2C QUP driver relies on SMBus emulation support from the framework.
To handle SMBus block reads, the driver should check I2C_M_RECV_LEN
flag and should read the first byte received as the message length.

The driver configures the QUP hardware to read one byte. Once the
message length is known from this byte, the QUP hardware is configured
to read the rest.

Signed-off-by: Naveen Kaje <nkaje@codeaurora.org>
Signed-off-by: Austin Christ <austinwc@codeaurora.org>
Reviewed-by: Sricharan R <sricharan@codeaurora.org>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-qup.c