i2c: i2c-stm32f7: Add I2C_SMBUS_I2C_BLOCK_DATA support
authorFabrice Gasnier <fabrice.gasnier@st.com>
Tue, 4 Jun 2019 13:20:51 +0000 (15:20 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Sat, 29 Jun 2019 11:30:39 +0000 (13:30 +0200)
commit473fbdf7d8d345f7e57618b769fbdff9da40424d
tree328e8f2672151dd38c8193855652c7d2b0c04470
parent6e76cb7dfd34a2e3a13a0290eca19c0060764964
i2c: i2c-stm32f7: Add I2C_SMBUS_I2C_BLOCK_DATA support

This patch adds the support of I2C_SMBUS_I2C_BLOCK_DATA transaction type
for the stm32f7 SMBUS Controller.
Use emulated I2C_SMBUS_I2C_BLOCK_DATA transactions as there is no specific
hardware in STM32 I2C to manage this (e.g. like no need for PEC here).
Emulated transfer will fall back calling i2c transfer method where there's
already support for DMAs for example.
So, use the I2C_FUNC_SMBUS_I2C_BLOCK in stm32f7_i2c_func(), and rely on
emulated transfer by returning -EOPNOTSUPP in the smbus_xfer() routine
for such a case.

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-stm32f7.c