* [PATCH v3 1/3] Documentation/i2c: whitespace cleanup
@ 2018-04-13 17:42 Sam Hansen
2018-04-13 17:42 ` [PATCH v3 2/3] Documentation/i2c: sync docs with current state of i2c-tools Sam Hansen
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Sam Hansen @ 2018-04-13 17:42 UTC (permalink / raw)
To: linux-i2c; +Cc: Sam Hansen, wsa, corbet, linux-doc, linux-kernel
This strips trailing whitespace in Documentation/i2c/dev-interface.
Signed-off-by: Sam Hansen <hansens@google.com>
---
No changes from v2.
Documentation/i2c/dev-interface | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/Documentation/i2c/dev-interface b/Documentation/i2c/dev-interface
index d04e6e4964ee..c8737d502791 100644
--- a/Documentation/i2c/dev-interface
+++ b/Documentation/i2c/dev-interface
@@ -9,8 +9,8 @@ i2c adapters present on your system at a given time. i2cdetect is part of
the i2c-tools package.
I2C device files are character device files with major device number 89
-and a minor device number corresponding to the number assigned as
-explained above. They should be called "i2c-%d" (i2c-0, i2c-1, ...,
+and a minor device number corresponding to the number assigned as
+explained above. They should be called "i2c-%d" (i2c-0, i2c-1, ...,
i2c-10, ...). All 256 minor device numbers are reserved for i2c.
@@ -38,7 +38,7 @@ Next thing, open the device file, as follows:
int file;
int adapter_nr = 2; /* probably dynamically determined */
char filename[20];
-
+
snprintf(filename, 19, "/dev/i2c-%d", adapter_nr);
file = open(filename, O_RDWR);
if (file < 0) {
@@ -72,7 +72,7 @@ the device supports them. Both are illustrated below.
/* res contains the read word */
}
- /* Using I2C Write, equivalent of
+ /* Using I2C Write, equivalent of
i2c_smbus_write_word_data(file, reg, 0x6543) */
buf[0] = reg;
buf[1] = 0x43;
@@ -147,7 +147,7 @@ You can do plain i2c transactions by using read(2) and write(2) calls.
You do not need to pass the address byte; instead, set it through
ioctl I2C_SLAVE before you try to access the device.
-You can do SMBus level transactions (see documentation file smbus-protocol
+You can do SMBus level transactions (see documentation file smbus-protocol
for details) through the following functions:
__s32 i2c_smbus_write_quick(int file, __u8 value);
__s32 i2c_smbus_read_byte(int file);
@@ -158,7 +158,7 @@ for details) through the following functions:
__s32 i2c_smbus_write_word_data(int file, __u8 command, __u16 value);
__s32 i2c_smbus_process_call(int file, __u8 command, __u16 value);
__s32 i2c_smbus_read_block_data(int file, __u8 command, __u8 *values);
- __s32 i2c_smbus_write_block_data(int file, __u8 command, __u8 length,
+ __s32 i2c_smbus_write_block_data(int file, __u8 command, __u8 length,
__u8 *values);
All these transactions return -1 on failure; you can read errno to see
what happened. The 'write' transactions return 0 on success; the
--
2.17.0.484.g0c8726318c-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/3] Documentation/i2c: sync docs with current state of i2c-tools
2018-04-13 17:42 [PATCH v3 1/3] Documentation/i2c: whitespace cleanup Sam Hansen
@ 2018-04-13 17:42 ` Sam Hansen
2018-04-18 8:09 ` Wolfram Sang
2018-04-18 8:21 ` Wolfram Sang
2018-04-13 17:42 ` [PATCH v3 3/3] Documentation/i2c: adopt kernel commenting style in examples Sam Hansen
2018-04-18 8:08 ` [PATCH v3 1/3] Documentation/i2c: whitespace cleanup Wolfram Sang
2 siblings, 2 replies; 8+ messages in thread
From: Sam Hansen @ 2018-04-13 17:42 UTC (permalink / raw)
To: linux-i2c; +Cc: Sam Hansen, wsa, corbet, linux-doc, linux-kernel
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>
---
No changes from v2.
Documentation/i2c/dev-interface | 16 +++++-----------
1 file 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:
#include <linux/i2c-dev.h>
#include <i2c/smbus.h>
-(Please note that there are two files named "i2c-dev.h" out there. One is
-distributed with the Linux kernel and the other one is included in the
-source tree of i2c-tools. They used to be different in content but since 2012
-they're identical. You should use "linux/i2c-dev.h").
-
Now, you have to decide which adapter you want to access. You should
inspect /sys/class/i2c-dev/ or run "i2cdetect -l" to decide this.
Adapter numbers are assigned somewhat dynamically, so you can not
@@ -140,8 +135,8 @@ ioctl(file, I2C_RDWR, struct i2c_rdwr_ioctl_data *msgset)
set in each message, overriding the values set with the above ioctl's.
ioctl(file, I2C_SMBUS, struct i2c_smbus_ioctl_data *args)
- Not meant to be called directly; instead, use the access functions
- below.
+ If possible, use the provided i2c_smbus_* methods described below instead
+ of issuing direct ioctls.
You can do plain i2c transactions by using read(2) and write(2) calls.
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
returns the number of values read. The block buffers need not be longer
than 32 bytes.
-The above functions are all inline functions, that resolve to calls to
-the i2c_smbus_access function, that on its turn calls a specific ioctl
-with the data in a specific format. Read the source code if you
-want to know what happens behind the screens.
+The above functions are made available by linking against the libi2c library,
+which is provided by the i2c-tools project. See:
+https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/.
Implementation details
--
2.17.0.484.g0c8726318c-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 3/3] Documentation/i2c: adopt kernel commenting style in examples
2018-04-13 17:42 [PATCH v3 1/3] Documentation/i2c: whitespace cleanup Sam Hansen
2018-04-13 17:42 ` [PATCH v3 2/3] Documentation/i2c: sync docs with current state of i2c-tools Sam Hansen
@ 2018-04-13 17:42 ` Sam Hansen
2018-04-18 8:10 ` Wolfram Sang
2018-04-18 8:08 ` [PATCH v3 1/3] Documentation/i2c: whitespace cleanup Wolfram Sang
2 siblings, 1 reply; 8+ messages in thread
From: Sam Hansen @ 2018-04-13 17:42 UTC (permalink / raw)
To: linux-i2c; +Cc: Sam Hansen, wsa, corbet, linux-doc, linux-kernel
The example I2C code is rewritten to adopt the preferred kernel block
commenting style.
Signed-off-by: Sam Hansen <hansens@google.com>
---
Changes from v2:
1. only the block comment is updated.
2. one-line comments are reverted to prior form.
Documentation/i2c/dev-interface | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/Documentation/i2c/dev-interface b/Documentation/i2c/dev-interface
index f92ee1f59914..fbed645ccd75 100644
--- a/Documentation/i2c/dev-interface
+++ b/Documentation/i2c/dev-interface
@@ -67,8 +67,10 @@ the device supports them. Both are illustrated below.
/* res contains the read word */
}
- /* Using I2C Write, equivalent of
- i2c_smbus_write_word_data(file, reg, 0x6543) */
+ /*
+ * Using I2C Write, equivalent of
+ * i2c_smbus_write_word_data(file, reg, 0x6543)
+ */
buf[0] = reg;
buf[1] = 0x43;
buf[2] = 0x65;
--
2.17.0.484.g0c8726318c-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 1/3] Documentation/i2c: whitespace cleanup
2018-04-13 17:42 [PATCH v3 1/3] Documentation/i2c: whitespace cleanup Sam Hansen
2018-04-13 17:42 ` [PATCH v3 2/3] Documentation/i2c: sync docs with current state of i2c-tools Sam Hansen
2018-04-13 17:42 ` [PATCH v3 3/3] Documentation/i2c: adopt kernel commenting style in examples Sam Hansen
@ 2018-04-18 8:08 ` Wolfram Sang
2 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2018-04-18 8:08 UTC (permalink / raw)
To: Sam Hansen; +Cc: linux-i2c, corbet, linux-doc, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 223 bytes --]
On Fri, Apr 13, 2018 at 10:42:55AM -0700, Sam Hansen wrote:
> This strips trailing whitespace in Documentation/i2c/dev-interface.
>
> Signed-off-by: Sam Hansen <hansens@google.com>
Applied to for-current, thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/3] Documentation/i2c: sync docs with current state of i2c-tools
2018-04-13 17:42 ` [PATCH v3 2/3] Documentation/i2c: sync docs with current state of i2c-tools Sam Hansen
@ 2018-04-18 8:09 ` Wolfram Sang
2018-04-18 8:21 ` Wolfram Sang
1 sibling, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2018-04-18 8:09 UTC (permalink / raw)
To: Sam Hansen; +Cc: linux-i2c, corbet, linux-doc, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 584 bytes --]
On Fri, Apr 13, 2018 at 10:42:56AM -0700, Sam Hansen wrote:
> 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>
Applied to for-current, thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/3] Documentation/i2c: adopt kernel commenting style in examples
2018-04-13 17:42 ` [PATCH v3 3/3] Documentation/i2c: adopt kernel commenting style in examples Sam Hansen
@ 2018-04-18 8:10 ` Wolfram Sang
0 siblings, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2018-04-18 8:10 UTC (permalink / raw)
To: Sam Hansen; +Cc: linux-i2c, corbet, linux-doc, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 246 bytes --]
On Fri, Apr 13, 2018 at 10:42:57AM -0700, Sam Hansen wrote:
> The example I2C code is rewritten to adopt the preferred kernel block
> commenting style.
>
> Signed-off-by: Sam Hansen <hansens@google.com>
Applied to for-current, thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/3] Documentation/i2c: sync docs with current state of i2c-tools
2018-04-13 17:42 ` [PATCH v3 2/3] Documentation/i2c: sync docs with current state of i2c-tools Sam Hansen
2018-04-18 8:09 ` Wolfram Sang
@ 2018-04-18 8:21 ` Wolfram Sang
2018-04-18 18:17 ` Sam Hansen
1 sibling, 1 reply; 8+ messages in thread
From: Wolfram Sang @ 2018-04-18 8:21 UTC (permalink / raw)
To: Sam Hansen; +Cc: linux-i2c, corbet, linux-doc, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 436 bytes --]
> +The above functions are made available by linking against the libi2c library,
> +which is provided by the i2c-tools project. See:
> +https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/.
In the beginning, we say that '#include <i2c/smbus.h>' is needed.
Shouldn't we mention i2c-tools there already and in what case it is
needed (only for SMBus)? I'd think so.
Sam, would you be open to do this as an incremental patch?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/3] Documentation/i2c: sync docs with current state of i2c-tools
2018-04-18 8:21 ` Wolfram Sang
@ 2018-04-18 18:17 ` Sam Hansen
0 siblings, 0 replies; 8+ messages in thread
From: Sam Hansen @ 2018-04-18 18:17 UTC (permalink / raw)
To: Wolfram Sang; +Cc: linux-i2c, Jonathan Corbet, linux-doc, linux-kernel
On Wed, Apr 18, 2018 at 1:21 AM, Wolfram Sang <wsa@the-dreams.de> wrote:
>
>> +The above functions are made available by linking against the libi2c library,
>> +which is provided by the i2c-tools project. See:
>> +https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/.
>
> In the beginning, we say that '#include <i2c/smbus.h>' is needed.
> Shouldn't we mention i2c-tools there already and in what case it is
> needed (only for SMBus)? I'd think so.
>
> Sam, would you be open to do this as an incremental patch?
Yup, I'll send an incremental patch touching this up, thanks.
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-04-18 18:17 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-13 17:42 [PATCH v3 1/3] Documentation/i2c: whitespace cleanup Sam Hansen
2018-04-13 17:42 ` [PATCH v3 2/3] Documentation/i2c: sync docs with current state of i2c-tools Sam Hansen
2018-04-18 8:09 ` Wolfram Sang
2018-04-18 8:21 ` Wolfram Sang
2018-04-18 18:17 ` Sam Hansen
2018-04-13 17:42 ` [PATCH v3 3/3] Documentation/i2c: adopt kernel commenting style in examples Sam Hansen
2018-04-18 8:10 ` Wolfram Sang
2018-04-18 8:08 ` [PATCH v3 1/3] Documentation/i2c: whitespace cleanup Wolfram Sang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).