struct i2c_bus_recovery_info
Prev | Chapter 10. I2C and SMBus Subsystem | Next

## Name

struct i2c_bus_recovery_info — I2C bus recovery information

## Synopsis

    struct i2c_bus_recovery_info {
      int (* recover_bus) (struct i2c_adapter *);
      int (* get_scl) (struct i2c_adapter *);
      void (* set_scl) (struct i2c_adapter *, int val);
      int (* get_sda) (struct i2c_adapter *);
      void (* prepare_recovery) (struct i2c_bus_recovery_info *bri);
      void (* unprepare_recovery) (struct i2c_bus_recovery_info *bri);
      int scl_gpio;
      int sda_gpio;
    };

## Members

recover_bus

  Recover routine. Either pass driver's `recover_bus` routine, or `i2c_generic_scl_recovery` or `i2c_generic_gpio_recovery`.

get_scl

  This gets current value of SCL line. Mandatory for generic SCL recovery. Used internally for generic GPIO recovery.

set_scl

  This sets/clears SCL line. Mandatory for generic SCL recovery. Used internally for generic GPIO recovery.

get_sda

  This gets current value of SDA line. Optional for generic SCL recovery. Used internally, if sda_gpio is a valid GPIO, for generic GPIO recovery.

prepare_recovery

  This will be called before starting recovery. Platform may configure padmux here for SDA/SCL line or something else they want.

unprepare_recovery

  This will be called after completing recovery. Platform may configure padmux here for SDA/SCL line or something else they want.

scl_gpio

  gpio number of the SCL line. Only required for GPIO recovery.

sda_gpio

  gpio number of the SDA line. Only required for GPIO recovery.

Prev | Up | Next
I2C_BOARD_INFO | Home | module_i2c_driver