[6/7] i2cdump: Deprecate SMBus block mode

Message ID 20210608173132.3bdeced2@endymion
State New
Headers show
Series
  • Rework block read support among i2cget and i2cdump
Related show

Commit Message

Jean Delvare June 8, 2021, 3:31 p.m.
i2cget is a better fit for this mode. Having it in i2cdump requires
special-casing in various places, which makes the code harder to read
and maintain.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
 tools/i2cdump.8 |   13 ++++---------
 tools/i2cdump.c |    4 +++-
 2 files changed, 7 insertions(+), 10 deletions(-)

Patch

--- i2c-tools.orig/tools/i2cdump.8	2021-06-08 17:04:22.538979958 +0200
+++ i2c-tools/tools/i2cdump.8	2021-06-08 17:13:28.996481415 +0200
@@ -106,21 +106,16 @@  bus 1 (i2c-1), using the default read me
 # i2cdump -r 0x00-0x3f 1 0x2d
 .RE
 .fi
-.PP
-Dump the registers of the SMBus device at address 0x69 on bus 0 (i2c-0),
-using one SMBus block read transaction with error checking enabled, after
-user confirmation:
-.nf
-.RS
-# i2cdump 0 0x69 sp
-.RE
-.fi
 
 .SH BUGS
 To report bugs or send fixes, please write to the Linux I2C mailing list
 <linux-i2c@vger.kernel.org> with Cc to the current maintainer:
 Jean Delvare <jdelvare@suse.de>.
 
+SMBus block mode is deprecated and will be removed in a future version
+of this tool.
+Please use \fIi2cget\fR instead.
+
 .SH SEE ALSO
 i2cdetect(8), i2cget(8), i2cset(8), i2ctransfer(8), isadump(8)
 
--- i2c-tools.orig/tools/i2cdump.c	2021-06-08 17:04:22.538979958 +0200
+++ i2c-tools/tools/i2cdump.c	2021-06-08 17:13:21.787382423 +0200
@@ -43,7 +43,7 @@  static void help(void)
 		"    b (byte, default)\n"
 		"    w (word)\n"
 		"    W (word on even register addresses)\n"
-		"    s (SMBus block)\n"
+		"    s (SMBus block, deprecated)\n"
 		"    i (I2C block)\n"
 		"    c (consecutive byte)\n"
 		"    Append p for SMBus PEC\n");
@@ -181,6 +181,8 @@  int main(int argc, char *argv[])
 		even = 1;
 	} else if (!strncmp(argv[flags+3], "s", 1)) {
 		size = I2C_SMBUS_BLOCK_DATA;
+		fprintf(stderr,
+			"SMBus Block mode is deprecated, please use i2cget instead\n");
 		pec = argv[flags+3][1] == 'p';
 	} else if (!strncmp(argv[flags+3], "c", 1)) {
 		size = I2C_SMBUS_BYTE;