[PATCH v2 0/6] i2c: add bus recovery infrastructure

Jan Luebbe jluebbe at debian.org
Thu Jul 30 07:52:05 PDT 2015


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




More information about the barebox mailing list