This series ports the kernel's i2c bus recovery support to barebox. Bus recovery is necessary when a slave device pulls the SDA line low because it is in a wrong state. The fix is to toggle the SCL line, which move the slaves into the idle state. Using the same structure and callbacks as the kernel makes it easy to port the per-driver code to barebox. Changes from v1: - Let the driver configure the function pointers to avoid linking in i2c_generic_gpio_recovery when it is not actually needed. - Add recovery support to i2c-gpio. Jan Luebbe (6): i2c: add bus recovery infrastructure i2c-omap: clear ARDY twice i2c-omap: add bus recovery support i2c: algo-bit: fix debug code i2c: algo-bit: check if the bus is busy i2c: gpio: add bus recovery support drivers/i2c/algos/i2c-algo-bit.c | 44 ++++++++++--- drivers/i2c/busses/i2c-gpio.c | 10 +++ drivers/i2c/busses/i2c-omap.c | 88 +++++++++++++++++++++++++- drivers/i2c/i2c.c | 130 +++++++++++++++++++++++++++++++++++++++ include/i2c/i2c.h | 45 ++++++++++++++ 5 files changed, 307 insertions(+), 10 deletions(-) -- 2.1.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox