Message ID | 1443541640-7810-8-git-send-email-ryan.harkin@linaro.org |
---|---|
State | New |
Headers | show |
I somehow managed to drop a hunk from this patch, leaving a return without a value. I'll issue a v3 of the series to correct it. On 29 September 2015 at 16:47, Ryan Harkin <ryan.harkin@linaro.org> wrote: > Change the load_image so that it returns success or failure of the > command (using CMD_RET_SUCCESS or CMD_RET_FAILURE). > > This way, hush scripts can optionally load different files depending > upon the system configuration. > > A simple example: > > if afs load ${kernel_name} ${kernel_addr}; then echo loaded; else echo \ > not loaded; fi > > Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org> > Reviewed-by: Linus Walleij <linus.walleij@linaro.org> > --- > common/cmd_armflash.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/common/cmd_armflash.c b/common/cmd_armflash.c > index a37f5c4..02b7fee 100644 > --- a/common/cmd_armflash.c > +++ b/common/cmd_armflash.c > @@ -175,7 +175,7 @@ static void parse_flash(void) > parse_bank(bank); > } > > -static void load_image(const char * const name, const ulong address) > +static int load_image(const char * const name, const ulong address) > { > struct afs_image *afi = NULL; > int i; > @@ -191,7 +191,7 @@ static void load_image(const char * const name, const > ulong address) > } > if (!afi) { > printf("image \"%s\" not found in flash\n", name); > - return; > + return CMD_RET_FAILURE; > } > > for (i = 0; i < afi->region_count; i++) { > @@ -215,6 +215,7 @@ static void load_image(const char * const name, const > ulong address) > to, > afi->regions[i].size); > } > + return CMD_RET_SUCCESS; > } > > static void print_images(void) > @@ -274,12 +275,12 @@ static int do_afs(cmd_tbl_t *cmdtp, int flag, int > argc, char * const argv[]) > } else if (argc == 3 && !strcmp(argv[1], "exists")) { > ret = exists(argv[2]); > } else if (argc == 3 && !strcmp(argv[1], "load")) { > - load_image(argv[2], 0x0); > + ret = load_image(argv[2], 0x0); > } else if (argc == 4 && !strcmp(argv[1], "load")) { > ulong load_addr; > > load_addr = simple_strtoul(argv[3], NULL, 16); > - load_image(argv[2], load_addr); > + ret = load_image(argv[2], load_addr); > } else { > return CMD_RET_USAGE; > } > -- > 2.1.0 > >
diff --git a/common/cmd_armflash.c b/common/cmd_armflash.c index a37f5c4..02b7fee 100644 --- a/common/cmd_armflash.c +++ b/common/cmd_armflash.c @@ -175,7 +175,7 @@ static void parse_flash(void) parse_bank(bank); } -static void load_image(const char * const name, const ulong address) +static int load_image(const char * const name, const ulong address) { struct afs_image *afi = NULL; int i; @@ -191,7 +191,7 @@ static void load_image(const char * const name, const ulong address) } if (!afi) { printf("image \"%s\" not found in flash\n", name); - return; + return CMD_RET_FAILURE; } for (i = 0; i < afi->region_count; i++) { @@ -215,6 +215,7 @@ static void load_image(const char * const name, const ulong address) to, afi->regions[i].size); } + return CMD_RET_SUCCESS; } static void print_images(void) @@ -274,12 +275,12 @@ static int do_afs(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) } else if (argc == 3 && !strcmp(argv[1], "exists")) { ret = exists(argv[2]); } else if (argc == 3 && !strcmp(argv[1], "load")) { - load_image(argv[2], 0x0); + ret = load_image(argv[2], 0x0); } else if (argc == 4 && !strcmp(argv[1], "load")) { ulong load_addr; load_addr = simple_strtoul(argv[3], NULL, 16); - load_image(argv[2], load_addr); + ret = load_image(argv[2], load_addr); } else { return CMD_RET_USAGE; }