Add a new callback for IP cores which cannot report SDA directly but only a 'bus free' state. Implement this for the Renesas R-Car driver. It has been tested with a Renesas Lager board (R-Car H2). A branch (with further improvements) can be found here: git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/i2c/recovery/write-byte-fix Looking forward to comments. Kind regards, Wolfram Wolfram Sang (2): i2c: recovery: add get_bus_free callback i2c: rcar: use the new get_bus_free callback drivers/i2c/busses/i2c-rcar.c | 21 +++++++++++---------- drivers/i2c/i2c-core-base.c | 27 +++++++++++++++++++++++---- include/linux/i2c.h | 3 +++ 3 files changed, 37 insertions(+), 14 deletions(-) -- 2.11.0