[U-Boot] [PATCH v1 1/3] toradex: configblock: add an -y parameter to 'cfgblock create’
Igor Opaniuk
igor.opaniuk at toradex.com
Thu Mar 7 05:08:44 UTC 2019
Reviewed-by: Igor Opaniuk <igor.opaniuk at toradex.com>
On Fri, 1 Feb 2019 at 17:24, Marcel Ziswiler <marcel at ziswiler.com> wrote:
>
> From: Dominik Sliwa <dominik.sliwa at toradex.com>
>
> Add an optional -y parameter to 'cfgblock create’ to simplify
> automation.
>
> Signed-off-by: Dominik Sliwa <dominik.sliwa at toradex.com>
> Acked-by: Stefan Agner <stefan.agner at toradex.com>
> Acked-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
>
> ---
>
> board/toradex/common/tdx-cfg-block.c | 39 ++++++++++++++++++----------
> 1 file changed, 26 insertions(+), 13 deletions(-)
>
> diff --git a/board/toradex/common/tdx-cfg-block.c b/board/toradex/common/tdx-cfg-block.c
> index d4f5b1803a..2fcb998ae4 100644
> --- a/board/toradex/common/tdx-cfg-block.c
> +++ b/board/toradex/common/tdx-cfg-block.c
> @@ -418,6 +418,7 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc,
> int offset = 0;
> int ret = CMD_RET_SUCCESS;
> int err;
> + int force_overwrite = 0;
>
> /* Allocate RAM area for config block */
> config_block = memalign(ARCH_DMA_MINALIGN, size);
> @@ -428,6 +429,11 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc,
>
> memset(config_block, 0xff, size);
>
> + if (argc >= 3) {
> + if (argv[2][0] == '-' && argv[2][1] == 'y')
> + force_overwrite = 1;
> + }
> +
> read_tdx_cfg_block();
> if (valid_cfgblock) {
> #if defined(CONFIG_TDX_CFG_BLOCK_IS_IN_NAND)
> @@ -448,24 +454,31 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc,
> CONFIG_TDX_CFG_BLOCK_OFFSET);
> goto out;
> #else
> - char message[CONFIG_SYS_CBSIZE];
> - sprintf(message,
> - "A valid Toradex config block is present, still recreate? [y/N] ");
> + if (!force_overwrite) {
> + char message[CONFIG_SYS_CBSIZE];
>
> - if (!cli_readline(message))
> - goto out;
> + sprintf(message,
> + "A valid Toradex config block is present, still recreate? [y/N] ");
>
> - if (console_buffer[0] != 'y' && console_buffer[0] != 'Y')
> - goto out;
> + if (!cli_readline(message))
> + goto out;
> +
> + if (console_buffer[0] != 'y' &&
> + console_buffer[0] != 'Y')
> + goto out;
> + }
> #endif
> }
>
> /* Parse new Toradex config block data... */
> - if (argc < 3)
> + if (argc < 3 || (force_overwrite && argc < 4)) {
> err = get_cfgblock_interactive();
> - else
> - err = get_cfgblock_barcode(argv[2]);
> -
> + } else {
> + if (force_overwrite)
> + err = get_cfgblock_barcode(argv[3]);
> + else
> + err = get_cfgblock_barcode(argv[2]);
> + }
> if (err) {
> ret = CMD_RET_FAILURE;
> goto out;
> @@ -549,8 +562,8 @@ static int do_cfgblock(cmd_tbl_t *cmdtp, int flag, int argc,
> }
>
> U_BOOT_CMD(
> - cfgblock, 3, 0, do_cfgblock,
> + cfgblock, 4, 0, do_cfgblock,
> "Toradex config block handling commands",
> - "create [barcode] - (Re-)create Toradex config block\n"
> + "create [-y] [barcode] - (Re-)create Toradex config block\n"
> "cfgblock reload - Reload Toradex config block from flash"
> );
> --
> 2.20.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
More information about the U-Boot
mailing list