[U-Boot] [PATCH v2 07/10] common/armflash: load_image returns success or failure

Ryan Harkin ryan.harkin at linaro.org
Thu Oct 1 19:24:42 CEST 2015


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 at 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 at linaro.org>
> Reviewed-by: Linus Walleij <linus.walleij at 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
>
>


More information about the U-Boot mailing list