From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Date: Tue, 7 Aug 2018 15:29:23 +0200 Subject: [U-Boot] [PATCH 3/4 v2] cmd: mtd: Don't use with negative return codes for shell commands In-Reply-To: <20180807121655.22346-3-sr@denx.de> References: <20180807121655.22346-1-sr@denx.de> <20180807121655.22346-3-sr@denx.de> Message-ID: <20180807152923.46983889@bbrezillon> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tue, 7 Aug 2018 14:16:54 +0200 Stefan Roese wrote: > When negative return codes are used in commands (do_foo()), the shell > prints these messages: > > exit not allowed from main input shell. > > Change the return codes in the new mtd commands to use only positive > values and these annoying warnings are gone. > > Signed-off-by: Stefan Roese > Cc: Miquel Raynal > Cc: Boris Brezillon > Cc: Jagan Teki Reviewed-by: Boris Brezillon > --- > v2: > - Use CMD_RET_FAILURE as return value as suggested by Boris > > cmd/mtd.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/cmd/mtd.c b/cmd/mtd.c > index 999d686e66..b29aec18ca 100644 > --- a/cmd/mtd.c > +++ b/cmd/mtd.c > @@ -188,7 +188,7 @@ static int do_mtd_list(void) > > if (!dev_nb) { > printf("No MTD device found\n"); > - return -EINVAL; > + return CMD_RET_FAILURE; > } > > return 0; > @@ -269,13 +269,13 @@ static int do_mtd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > if (mtd_is_aligned_with_min_io_size(mtd, off)) { > printf("Offset not aligned with a page (0x%x)\n", > mtd->writesize); > - return -EINVAL; > + return CMD_RET_FAILURE; > } > > if (mtd_is_aligned_with_min_io_size(mtd, len)) { > printf("Size not a multiple of a page (0x%x)\n", > mtd->writesize); > - return -EINVAL; > + return CMD_RET_FAILURE; > } > > if (dump) > @@ -285,7 +285,7 @@ static int do_mtd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > > if (!buf) { > printf("Could not map/allocate the user buffer\n"); > - return -ENOMEM; > + return CMD_RET_FAILURE; > } > > printf("%s %lldB (%d page(s)) at offset 0x%08llx%s%s\n", > @@ -306,7 +306,7 @@ static int do_mtd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > if (ret) { > printf("%s on %s failed with error %d\n", > read ? "Read" : "Write", mtd->name, ret); > - return ret; > + return CMD_RET_FAILURE; > } > > if (dump) { > @@ -346,13 +346,13 @@ static int do_mtd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > if (mtd_is_aligned_with_block_size(mtd, off)) { > printf("Offset not aligned with a block (0x%x)\n", > mtd->erasesize); > - return -EINVAL; > + return CMD_RET_FAILURE; > } > > if (mtd_is_aligned_with_block_size(mtd, len)) { > printf("Size not a multiple of a block (0x%x)\n", > mtd->erasesize); > - return -EINVAL; > + return CMD_RET_FAILURE; > } > > erase_op.mtd = mtd; > @@ -366,7 +366,9 @@ static int do_mtd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > return CMD_RET_USAGE; > } > > - return ret; > + if (ret) > + return CMD_RET_FAILURE; > + return 0; > } > > static char mtd_help_text[] =