diff options
author | Ben Dooks <ben.dooks@codethink.co.uk> | 2014-01-26 11:05:36 -0500 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2014-01-26 16:48:35 -0500 |
commit | 25ee33fb824eb46ae77f6c962007492603d39772 (patch) | |
tree | 9dd4df79c15aaf3e6042d131899464b49cd54b79 /include/linux | |
parent | bc8120f17ae87da0850b4e6a806ad88ffd01ca64 (diff) |
i2c: update i2c_algorithm documentation
Add some kerneldoc style documentaton to the i2c_algorithm
structure, and point the master_xfer return codes at the
right place in Documentation/i2c/fault_codes
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'include/linux')
-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 |