Browse Source

i2c-tools: Implement and document option -h

Add an option -h to display the help of the tools. This is a common
practice so users may expect it to work.

Based on a preliminary patch from David Kerns.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
master
Jean Delvare 3 years ago
parent
commit
051304c49a
  1. 8
      tools/i2cdetect.8
  2. 5
      tools/i2cdetect.c
  3. 8
      tools/i2cdump.8
  4. 5
      tools/i2cdump.c
  5. 8
      tools/i2cget.8
  6. 5
      tools/i2cget.c
  7. 8
      tools/i2cset.8
  8. 5
      tools/i2cset.c
  9. 8
      tools/i2ctransfer.8
  10. 5
      tools/i2ctransfer.c

8
tools/i2cdetect.8

@ -1,4 +1,4 @@
.TH I2CDETECT 8 "October 2017"
.TH I2CDETECT 8 "May 2022"
.SH NAME .SH NAME
i2cdetect \- detect I2C chips i2cdetect \- detect I2C chips
@ -18,6 +18,9 @@ i2cdetect \- detect I2C chips
.I -V .I -V
.br .br
.B i2cdetect .B i2cdetect
.I -h
.br
.B i2cdetect
.I -l .I -l
.SH DESCRIPTION .SH DESCRIPTION
@ -78,6 +81,9 @@ Display the list of functionalities implemented by the adapter and exit.
.B "\-V" .B "\-V"
Display the version and exit. Display the version and exit.
.TP .TP
.B "\-h"
Display the help and exit.
.TP
.B "\-l" .B "\-l"
Output a list of installed busses. Output a list of installed busses.

5
tools/i2cdetect.c

@ -209,7 +209,7 @@ int main(int argc, char *argv[])
int yes = 0, version = 0, list = 0; int yes = 0, version = 0, list = 0;
/* handle (optional) flags first */ /* handle (optional) flags first */
while ((opt = getopt(argc, argv, "FValqry")) != -1) {
while ((opt = getopt(argc, argv, "FVahlqry")) != -1) {
switch (opt) { switch (opt) {
case 'V': version = 1; break; case 'V': version = 1; break;
case 'y': yes = 1; break; case 'y': yes = 1; break;
@ -242,9 +242,10 @@ int main(int argc, char *argv[])
first = 0x00; first = 0x00;
last = 0x7F; last = 0x7F;
break; break;
case 'h':
case '?': case '?':
help(); help();
exit(1);
exit(opt == '?');
} }
} }

8
tools/i2cdump.8

@ -1,4 +1,4 @@
.TH I2CDUMP 8 "June 2021"
.TH I2CDUMP 8 "May 2022"
.SH NAME .SH NAME
i2cdump \- examine I2C registers i2cdump \- examine I2C registers
@ -14,6 +14,9 @@ i2cdump \- examine I2C registers
.br .br
.B i2cdump .B i2cdump
.B -V .B -V
.br
.B i2cdump
.B -h
.SH DESCRIPTION .SH DESCRIPTION
i2cdump is a small helper program to examine registers i2cdump is a small helper program to examine registers
@ -24,6 +27,9 @@ visible through the I2C bus.
.B -V .B -V
Display the version and exit. Display the version and exit.
.TP .TP
.B -h
Display the help and exit.
.TP
.B -f .B -f
Force access to the device even if it is already busy. By default, i2cdump Force access to the device even if it is already busy. By default, i2cdump
will refuse to access a device which is already under the control of a will refuse to access a device which is already under the control of a

5
tools/i2cdump.c

@ -116,16 +116,17 @@ int main(int argc, char *argv[])
int first = 0x00, last = 0xff; int first = 0x00, last = 0xff;
/* handle (optional) flags first */ /* handle (optional) flags first */
while ((opt = getopt(argc, argv, "Vafr:y")) != -1) {
while ((opt = getopt(argc, argv, "Vafhr:y")) != -1) {
switch (opt) { switch (opt) {
case 'V': version = 1; break; case 'V': version = 1; break;
case 'f': force = 1; break; case 'f': force = 1; break;
case 'r': range = optarg; break; case 'r': range = optarg; break;
case 'y': yes = 1; break; case 'y': yes = 1; break;
case 'a': all_addrs = 1; break; case 'a': all_addrs = 1; break;
case 'h':
case '?': case '?':
help(); help();
exit(1);
exit(opt == '?');
} }
} }

8
tools/i2cget.8

@ -1,4 +1,4 @@
.TH I2CGET 8 "July 2021"
.TH I2CGET 8 "May 2022"
.SH "NAME" .SH "NAME"
i2cget \- read from I2C/SMBus chip registers i2cget \- read from I2C/SMBus chip registers
@ -13,6 +13,9 @@ i2cget \- read from I2C/SMBus chip registers
.br .br
.B i2cget .B i2cget
.B -V .B -V
.br
.B i2cget
.B -h
.SH DESCRIPTION .SH DESCRIPTION
i2cget is a small helper program to read registers visible through the I2C i2cget is a small helper program to read registers visible through the I2C
@ -23,6 +26,9 @@ bus (or SMBus).
.B -V .B -V
Display the version and exit. Display the version and exit.
.TP .TP
.B -h
Display the help and exit.
.TP
.B -f .B -f
Force access to the device even if it is already busy. By default, i2cget Force access to the device even if it is already busy. By default, i2cget
will refuse to access a device which is already under the control of a will refuse to access a device which is already under the control of a

5
tools/i2cget.c

@ -186,15 +186,16 @@ int main(int argc, char *argv[])
unsigned char block_data[I2C_SMBUS_BLOCK_MAX]; unsigned char block_data[I2C_SMBUS_BLOCK_MAX];
/* handle (optional) flags first */ /* handle (optional) flags first */
while ((opt = getopt(argc, argv, "Vafy")) != -1) {
while ((opt = getopt(argc, argv, "Vafhy")) != -1) {
switch (opt) { switch (opt) {
case 'V': version = 1; break; case 'V': version = 1; break;
case 'f': force = 1; break; case 'f': force = 1; break;
case 'y': yes = 1; break; case 'y': yes = 1; break;
case 'a': all_addrs = 1; break; case 'a': all_addrs = 1; break;
case 'h':
case '?': case '?':
help(); help();
exit(1);
exit(opt == '?');
} }
} }

8
tools/i2cset.8

@ -1,4 +1,4 @@
.TH I2CSET 8 "October 2017"
.TH I2CSET 8 "May 2022"
.SH "NAME" .SH "NAME"
i2cset \- set I2C registers i2cset \- set I2C registers
@ -18,6 +18,9 @@ i2cset \- set I2C registers
.br .br
.B i2cset .B i2cset
.B -V .B -V
.br
.B i2cset
.B -h
.SH DESCRIPTION .SH DESCRIPTION
i2cset is a small helper program to set registers visible through the I2C i2cset is a small helper program to set registers visible through the I2C
@ -28,6 +31,9 @@ bus.
.B -V .B -V
Display the version and exit. Display the version and exit.
.TP .TP
.B -h
Display the help and exit.
.TP
.B -f .B -f
Force access to the device even if it is already busy. By default, i2cset Force access to the device even if it is already busy. By default, i2cset
will refuse to access a device which is already under the control of a will refuse to access a device which is already under the control of a

5
tools/i2cset.c

@ -168,7 +168,7 @@ int main(int argc, char *argv[])
int len; int len;
/* handle (optional) flags first */ /* handle (optional) flags first */
while ((opt = getopt(argc, argv, "Vafm:ry")) != -1) {
while ((opt = getopt(argc, argv, "Vafhm:ry")) != -1) {
switch (opt) { switch (opt) {
case 'V': version = 1; break; case 'V': version = 1; break;
case 'f': force = 1; break; case 'f': force = 1; break;
@ -176,9 +176,10 @@ int main(int argc, char *argv[])
case 'm': maskp = optarg; break; case 'm': maskp = optarg; break;
case 'r': readback = 1; break; case 'r': readback = 1; break;
case 'a': all_addrs = 1; break; case 'a': all_addrs = 1; break;
case 'h':
case '?': case '?':
help(); help();
exit(1);
exit(opt == '?');
} }
} }

8
tools/i2ctransfer.8

@ -1,4 +1,4 @@
.TH i2ctransfer 8 "February 2017"
.TH i2ctransfer 8 "May 2022"
.SH "NAME" .SH "NAME"
i2ctransfer \- send user-defined I2C messages in one transfer i2ctransfer \- send user-defined I2C messages in one transfer
@ -16,6 +16,9 @@ i2ctransfer \- send user-defined I2C messages in one transfer
.br .br
.B i2ctransfer .B i2ctransfer
.B -V .B -V
.br
.B i2ctransfer
.B -h
.SH DESCRIPTION .SH DESCRIPTION
.B i2ctransfer .B i2ctransfer
@ -63,6 +66,9 @@ It will print infos about all messages sent, i.e. not only for read messages but
.B -V .B -V
Display the version and exit. Display the version and exit.
.TP .TP
.B -h
Display the help and exit.
.TP
.B -a .B -a
Allow using addresses between 0x00 - 0x07 and 0x78 - 0x7f. Not recommended. Allow using addresses between 0x00 - 0x07 and 0x78 - 0x7f. Not recommended.

5
tools/i2ctransfer.c

@ -141,16 +141,17 @@ int main(int argc, char *argv[])
msgs[i].buf = NULL; msgs[i].buf = NULL;
/* handle (optional) flags first */ /* handle (optional) flags first */
while ((opt = getopt(argc, argv, "Vafvy")) != -1) {
while ((opt = getopt(argc, argv, "Vafhvy")) != -1) {
switch (opt) { switch (opt) {
case 'V': version = 1; break; case 'V': version = 1; break;
case 'v': verbose = 1; break; case 'v': verbose = 1; break;
case 'f': force = 1; break; case 'f': force = 1; break;
case 'y': yes = 1; break; case 'y': yes = 1; break;
case 'a': all_addrs = 1; break; case 'a': all_addrs = 1; break;
case 'h':
case '?': case '?':
help(); help();
exit(1);
exit(opt == '?');
} }
} }

Loading…
Cancel
Save