[PATCH] commands: i2c_read: default to reading one byte

Roland Hieber rhi at pengutronix.de
Wed Nov 22 03:06:41 PST 2023


The help text for i2c_read specifies that -c is optional:

    Usage: i2c_read [-bacrwv]

However, using i2c_read without -c falls through in do_i2c_read():

	if ((addr < 0) || (count < 1) || (addr > 0x7F))
		return COMMAND_ERROR_USAGE;

Actually make -c optional by initialising the count to 1.

Signed-off-by: Roland Hieber <rhi at pengutronix.de>
---
 commands/i2c.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/commands/i2c.c b/commands/i2c.c
index 997d49a94916..3a708531ee0a 100644
--- a/commands/i2c.c
+++ b/commands/i2c.c
@@ -195,7 +195,7 @@ static int do_i2c_read(int argc, char *argv[])
 	struct i2c_adapter *adapter = NULL;
 	struct i2c_client client;
 	u8 *buf;
-	int count = -1, addr = -1, reg = -1, verbose = 0, ret, opt, bus = 0, wide = 0;
+	int count = 1, addr = -1, reg = -1, verbose = 0, ret, opt, bus = 0, wide = 0;
 
 	while ((opt = getopt(argc, argv, "a:b:c:r:vw")) > 0) {
 		switch (opt) {
@@ -264,7 +264,7 @@ BAREBOX_CMD_HELP_OPT("-b BUS\t", "i2c bus number (default 0)")
 BAREBOX_CMD_HELP_OPT("-a ADDR\t", "i2c device address")
 BAREBOX_CMD_HELP_OPT("-r START", "start register (optional, master receive mode if none given)")
 BAREBOX_CMD_HELP_OPT("-w\t",       "use word (16 bit) wide access")
-BAREBOX_CMD_HELP_OPT("-c COUNT", "byte count")
+BAREBOX_CMD_HELP_OPT("-c COUNT", "byte count (default 1)")
 BAREBOX_CMD_HELP_OPT("-v\t",       "verbose")
 BAREBOX_CMD_HELP_END
 
-- 
2.39.2




More information about the barebox mailing list