diff options
author | Sam Hansen <hansens@google.com> | 2018-04-13 13:42:56 -0400 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2018-04-18 04:09:15 -0400 |
commit | b50cb3eaf7c8d13e427f991f7d52b485ca0fc65f (patch) | |
tree | d044ed8d69fc2a587acafdc95fb4fe131c66b3fa | |
parent | 675edea10badf5b3446275d60e1bd2105905d498 (diff) |
Documentation/i2c: sync docs with current state of i2c-tools
Currently, Documentation/i2c/dev-interface describes the use of
i2c_smbus_* helper routines as static inlined functions provided by
linux/i2c-dev.h. Work has been done to refactor the linux/i2c-dev.h file
in the i2c-tools project out into its own library. As a result, these
docs have become stale.
This patch corrects the discrepancy and directs the reader to the
i2c-tools project for more information.
Signed-off-by: Sam Hansen <hansens@google.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
-rw-r--r-- | Documentation/i2c/dev-interface | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/Documentation/i2c/dev-interface b/Documentation/i2c/dev-interface index c8737d502791..f92ee1f59914 100644 --- a/Documentation/i2c/dev-interface +++ b/Documentation/i2c/dev-interface | |||
@@ -23,11 +23,6 @@ First, you need to include these two headers: | |||
23 | #include <linux/i2c-dev.h> | 23 | #include <linux/i2c-dev.h> |
24 | #include <i2c/smbus.h> | 24 | #include <i2c/smbus.h> |
25 | 25 | ||
26 | (Please note that there are two files named "i2c-dev.h" out there. One is | ||
27 | distributed with the Linux kernel and the other one is included in the | ||
28 | source tree of i2c-tools. They used to be different in content but since 2012 | ||
29 | they're identical. You should use "linux/i2c-dev.h"). | ||
30 | |||
31 | Now, you have to decide which adapter you want to access. You should | 26 | Now, you have to decide which adapter you want to access. You should |
32 | inspect /sys/class/i2c-dev/ or run "i2cdetect -l" to decide this. | 27 | inspect /sys/class/i2c-dev/ or run "i2cdetect -l" to decide this. |
33 | Adapter numbers are assigned somewhat dynamically, so you can not | 28 | Adapter numbers are assigned somewhat dynamically, so you can not |
@@ -140,8 +135,8 @@ ioctl(file, I2C_RDWR, struct i2c_rdwr_ioctl_data *msgset) | |||
140 | set in each message, overriding the values set with the above ioctl's. | 135 | set in each message, overriding the values set with the above ioctl's. |
141 | 136 | ||
142 | ioctl(file, I2C_SMBUS, struct i2c_smbus_ioctl_data *args) | 137 | ioctl(file, I2C_SMBUS, struct i2c_smbus_ioctl_data *args) |
143 | Not meant to be called directly; instead, use the access functions | 138 | If possible, use the provided i2c_smbus_* methods described below instead |
144 | below. | 139 | of issuing direct ioctls. |
145 | 140 | ||
146 | You can do plain i2c transactions by using read(2) and write(2) calls. | 141 | You can do plain i2c transactions by using read(2) and write(2) calls. |
147 | You do not need to pass the address byte; instead, set it through | 142 | You do not need to pass the address byte; instead, set it through |
@@ -166,10 +161,9 @@ what happened. The 'write' transactions return 0 on success; the | |||
166 | returns the number of values read. The block buffers need not be longer | 161 | returns the number of values read. The block buffers need not be longer |
167 | than 32 bytes. | 162 | than 32 bytes. |
168 | 163 | ||
169 | The above functions are all inline functions, that resolve to calls to | 164 | The above functions are made available by linking against the libi2c library, |
170 | the i2c_smbus_access function, that on its turn calls a specific ioctl | 165 | which is provided by the i2c-tools project. See: |
171 | with the data in a specific format. Read the source code if you | 166 | https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/. |
172 | want to know what happens behind the screens. | ||
173 | 167 | ||
174 | 168 | ||
175 | Implementation details | 169 | Implementation details |