diff options
| -rw-r--r-- | include/linux/i2c.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index d9c8dbd3373f..deddeb8c337c 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
| @@ -342,11 +342,25 @@ i2c_register_board_info(int busnum, struct i2c_board_info const *info, | |||
| 342 | } | 342 | } |
| 343 | #endif /* I2C_BOARDINFO */ | 343 | #endif /* I2C_BOARDINFO */ |
| 344 | 344 | ||
| 345 | /* | 345 | /** |
| 346 | * struct i2c_algorithm - represent I2C transfer method | ||
| 347 | * @master_xfer: Issue a set of i2c transactions to the given I2C adapter | ||
| 348 | * defined by the msgs array, with num messages available to transfer via | ||
| 349 | * the adapter specified by adap. | ||
| 350 | * @smbus_xfer: Issue smbus transactions to the given I2C adapter. If this | ||
| 351 | * is not present, then the bus layer will try and convert the SMBus calls | ||
| 352 | * into I2C transfers instead. | ||
| 353 | * @functionality: Return the flags that this algorithm/adapter pair supports | ||
| 354 | * from the I2C_FUNC_* flags. | ||
| 355 | * | ||
| 346 | * The following structs are for those who like to implement new bus drivers: | 356 | * The following structs are for those who like to implement new bus drivers: |
| 347 | * i2c_algorithm is the interface to a class of hardware solutions which can | 357 | * i2c_algorithm is the interface to a class of hardware solutions which can |
| 348 | * be addressed using the same bus algorithms - i.e. bit-banging or the PCF8584 | 358 | * be addressed using the same bus algorithms - i.e. bit-banging or the PCF8584 |
| 349 | * to name two of the most common. | 359 | * to name two of the most common. |
| 360 | * | ||
| 361 | * The return codes from the @master_xfer field should indicate the type of | ||
| 362 | * error code that occured during the transfer, as documented in the kernel | ||
| 363 | * Documentation file Documentation/i2c/fault-codes. | ||
| 350 | */ | 364 | */ |
| 351 | struct i2c_algorithm { | 365 | struct i2c_algorithm { |
| 352 | /* If an adapter algorithm can't do I2C-level access, set master_xfer | 366 | /* If an adapter algorithm can't do I2C-level access, set master_xfer |
