aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-01-29 22:56:20 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-29 22:56:20 -0500
commitf7a6ad9fa24e4511a143e2b7b8a0d55864fe2edf (patch)
treec8bdb1a08729439fc8846c024ded296b9ef3b988 /include/linux
parent9076e0cae70c5d6ddb9a0284a20885b2b8814416 (diff)
parent6ff4b105163223741f5a82804f9695221017ae42 (diff)
Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull more i2c updates from Wolfram Sang: "Mostly bugfixes, small but wanted cleanups, and Paul's init.h removal applied" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: rcar: fix NACK error code i2c: update i2c_algorithm documentation i2c: rcar: use devm_clk_get to ensure clock is properly ref-counted i2c: rcar: do not print error if device nacks transfer i2c: rely on driver core when sanitizing devices i2c: delete non-required instances of include <linux/init.h> i2c: acorn: is tristate and should use module.h i2c: piix4: Standardize log messages i2c: piix4: Use different message for AMD Auxiliary SMBus Controller i2c: piix4: Add support for AMD ML and CZ SMBus changes
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/i2c.h16
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 */
351struct i2c_algorithm { 365struct 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