diff mbox series

[v2,2/2] i2c-tools: Implement and document option -h

Message ID 20220509110844.7a8078cb@endymion.delvare
State New
Headers show
Series [v2,1/2] i2c-tools: Use getopt | expand

Commit Message

Jean Delvare May 9, 2022, 9:08 a.m. UTC
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>
---
Changes since v1:
 * Update the getopt strings so that option -h is actually accepted
 * Update i2ctransfer too
 * Update the date of all modified man pages

 tools/i2cdetect.8   |    8 +++++++-
 tools/i2cdetect.c   |    5 +++--
 tools/i2cdump.8     |    8 +++++++-
 tools/i2cdump.c     |    5 +++--
 tools/i2cget.8      |    8 +++++++-
 tools/i2cget.c      |    5 +++--
 tools/i2cset.8      |    8 +++++++-
 tools/i2cset.c      |    5 +++--
 tools/i2ctransfer.8 |    8 +++++++-
 tools/i2ctransfer.c |    5 +++--
 10 files changed, 50 insertions(+), 15 deletions(-)

Comments

Wolfram Sang May 14, 2022, 1:53 p.m. UTC | #1
On Mon, May 09, 2022 at 11:08:44AM +0200, Jean Delvare wrote:
> 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>
diff mbox series

Patch

--- i2c-tools.orig/tools/i2cdetect.8	2022-05-09 10:57:59.426739954 +0200
+++ i2c-tools/tools/i2cdetect.8	2022-05-09 11:05:28.840435141 +0200
@@ -1,4 +1,4 @@ 
-.TH I2CDETECT 8 "October 2017"
+.TH I2CDETECT 8 "May 2022"
 .SH NAME
 i2cdetect \- detect I2C chips
 
@@ -18,6 +18,9 @@  i2cdetect \- detect I2C chips
 .I -V
 .br
 .B i2cdetect
+.I -h
+.br
+.B i2cdetect
 .I -l
 
 .SH DESCRIPTION
@@ -78,6 +81,9 @@  Display the list of functionalities impl
 .B "\-V"
 Display the version and exit.
 .TP
+.B "\-h"
+Display the help and exit.
+.TP
 .B "\-l"
 Output a list of installed busses.
 
--- i2c-tools.orig/tools/i2cdetect.c	2022-05-09 11:05:28.832435039 +0200
+++ i2c-tools/tools/i2cdetect.c	2022-05-09 11:06:15.086024749 +0200
@@ -209,7 +209,7 @@  int main(int argc, char *argv[])
 	int yes = 0, version = 0, list = 0;
 
 	/* handle (optional) flags first */
-	while ((opt = getopt(argc, argv, "FValqry")) != -1) {
+	while ((opt = getopt(argc, argv, "FVahlqry")) != -1) {
 		switch (opt) {
 		case 'V': version = 1; break;
 		case 'y': yes = 1; break;
@@ -242,9 +242,10 @@  int main(int argc, char *argv[])
 			first = 0x00;
 			last = 0x7F;
 			break;
+		case 'h':
 		case '?':
 			help();
-			exit(1);
+			exit(opt == '?');
 		}
 	}
 
--- i2c-tools.orig/tools/i2cdump.8	2022-05-09 10:57:59.426739954 +0200
+++ i2c-tools/tools/i2cdump.8	2022-05-09 11:05:28.840435141 +0200
@@ -1,4 +1,4 @@ 
-.TH I2CDUMP 8 "June 2021"
+.TH I2CDUMP 8 "May 2022"
 .SH NAME
 i2cdump \- examine I2C registers
 
@@ -14,6 +14,9 @@  i2cdump \- examine I2C registers
 .br
 .B i2cdump
 .B -V
+.br
+.B i2cdump
+.B -h
 
 .SH DESCRIPTION
 i2cdump is a small helper program to examine registers
@@ -24,6 +27,9 @@  visible through the I2C bus.
 .B -V
 Display the version and exit.
 .TP
+.B -h
+Display the help and exit.
+.TP
 .B -f
 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
--- i2c-tools.orig/tools/i2cdump.c	2022-05-09 11:05:28.832435039 +0200
+++ i2c-tools/tools/i2cdump.c	2022-05-09 11:06:22.017113117 +0200
@@ -116,16 +116,17 @@  int main(int argc, char *argv[])
 	int first = 0x00, last = 0xff;
 
 	/* handle (optional) flags first */
-	while ((opt = getopt(argc, argv, "Vafr:y")) != -1) {
+	while ((opt = getopt(argc, argv, "Vafhr:y")) != -1) {
 		switch (opt) {
 		case 'V': version = 1; break;
 		case 'f': force = 1; break;
 		case 'r': range = optarg; break;
 		case 'y': yes = 1; break;
 		case 'a': all_addrs = 1; break;
+		case 'h':
 		case '?':
 			help();
-			exit(1);
+			exit(opt == '?');
 		}
 	}
 
--- i2c-tools.orig/tools/i2cget.8	2022-05-09 10:57:59.426739954 +0200
+++ i2c-tools/tools/i2cget.8	2022-05-09 11:05:28.840435141 +0200
@@ -1,4 +1,4 @@ 
-.TH I2CGET 8 "July 2021"
+.TH I2CGET 8 "May 2022"
 .SH "NAME"
 i2cget \- read from I2C/SMBus chip registers
 
@@ -13,6 +13,9 @@  i2cget \- read from I2C/SMBus chip regis
 .br
 .B i2cget
 .B -V
+.br
+.B i2cget
+.B -h
 
 .SH DESCRIPTION
 i2cget is a small helper program to read registers visible through the I2C
@@ -23,6 +26,9 @@  bus (or SMBus).
 .B -V
 Display the version and exit.
 .TP
+.B -h
+Display the help and exit.
+.TP
 .B -f
 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
--- i2c-tools.orig/tools/i2cget.c	2022-05-09 11:05:28.832435039 +0200
+++ i2c-tools/tools/i2cget.c	2022-05-09 11:06:33.221255964 +0200
@@ -186,15 +186,16 @@  int main(int argc, char *argv[])
 	unsigned char block_data[I2C_SMBUS_BLOCK_MAX];
 
 	/* handle (optional) flags first */
-	while ((opt = getopt(argc, argv, "Vafy")) != -1) {
+	while ((opt = getopt(argc, argv, "Vafhy")) != -1) {
 		switch (opt) {
 		case 'V': version = 1; break;
 		case 'f': force = 1; break;
 		case 'y': yes = 1; break;
 		case 'a': all_addrs = 1; break;
+		case 'h':
 		case '?':
 			help();
-			exit(1);
+			exit(opt == '?');
 		}
 	}
 
--- i2c-tools.orig/tools/i2cset.8	2022-05-09 10:57:59.426739954 +0200
+++ i2c-tools/tools/i2cset.8	2022-05-09 11:05:28.840435141 +0200
@@ -1,4 +1,4 @@ 
-.TH I2CSET 8 "October 2017"
+.TH I2CSET 8 "May 2022"
 .SH "NAME"
 i2cset \- set I2C registers
 
@@ -18,6 +18,9 @@  i2cset \- set I2C registers
 .br
 .B i2cset
 .B -V
+.br
+.B i2cset
+.B -h
 
 .SH DESCRIPTION
 i2cset is a small helper program to set registers visible through the I2C
@@ -28,6 +31,9 @@  bus.
 .B -V
 Display the version and exit.
 .TP
+.B -h
+Display the help and exit.
+.TP
 .B -f
 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
--- i2c-tools.orig/tools/i2cset.c	2022-05-09 11:05:28.832435039 +0200
+++ i2c-tools/tools/i2cset.c	2022-05-09 11:06:40.280345962 +0200
@@ -168,7 +168,7 @@  int main(int argc, char *argv[])
 	int len;
 
 	/* handle (optional) flags first */
-	while ((opt = getopt(argc, argv, "Vafm:ry")) != -1) {
+	while ((opt = getopt(argc, argv, "Vafhm:ry")) != -1) {
 		switch (opt) {
 		case 'V': version = 1; break;
 		case 'f': force = 1; break;
@@ -176,9 +176,10 @@  int main(int argc, char *argv[])
 		case 'm': maskp = optarg; break;
 		case 'r': readback = 1; break;
 		case 'a': all_addrs = 1; break;
+		case 'h':
 		case '?':
 			help();
-			exit(1);
+			exit(opt == '?');
 		}
 	}
 
--- i2c-tools.orig/tools/i2ctransfer.8	2022-05-09 10:57:59.426739954 +0200
+++ i2c-tools/tools/i2ctransfer.8	2022-05-09 11:05:28.841435154 +0200
@@ -1,4 +1,4 @@ 
-.TH i2ctransfer 8 "February 2017"
+.TH i2ctransfer 8 "May 2022"
 .SH "NAME"
 i2ctransfer \- send user-defined I2C messages in one transfer
 
@@ -16,6 +16,9 @@  i2ctransfer \- send user-defined I2C mes
 .br
 .B i2ctransfer
 .B -V
+.br
+.B i2ctransfer
+.B -h
 
 .SH DESCRIPTION
 .B i2ctransfer
@@ -63,6 +66,9 @@  It will print infos about all messages s
 .B -V
 Display the version and exit.
 .TP
+.B -h
+Display the help and exit.
+.TP
 .B -a
 Allow using addresses between 0x00 - 0x07 and 0x78 - 0x7f. Not recommended.
 
--- i2c-tools.orig/tools/i2ctransfer.c	2022-05-09 11:05:28.832435039 +0200
+++ i2c-tools/tools/i2ctransfer.c	2022-05-09 11:06:47.812441993 +0200
@@ -141,16 +141,17 @@  int main(int argc, char *argv[])
 		msgs[i].buf = NULL;
 
 	/* handle (optional) flags first */
-	while ((opt = getopt(argc, argv, "Vafvy")) != -1) {
+	while ((opt = getopt(argc, argv, "Vafhvy")) != -1) {
 		switch (opt) {
 		case 'V': version = 1; break;
 		case 'v': verbose = 1; break;
 		case 'f': force = 1; break;
 		case 'y': yes = 1; break;
 		case 'a': all_addrs = 1; break;
+		case 'h':
 		case '?':
 			help();
-			exit(1);
+			exit(opt == '?');
 		}
 	}