[PATCH v2 2/3] cmd: fdt: allow standalone "fdt move"
Lothar Waßmann
LW at KARO-electronics.de
Fri Feb 10 12:34:06 CET 2023
Hi,
On Fri, 10 Feb 2023 11:02:12 +0000 Andre Przywara wrote:
> At the moment every subcommand of "fdt", except "addr" itself, requires
> the DT address to be set first. We explicitly check for that before even
> comparing against the subcommands' string.
> This early bailout also affects the "move" subcommand, even though that
> does not require or rely on a previous call to "fdt addr". In fact it
> even sets the FDT address to the target of the move command, so is a
> perfect beginning for a sequence of fdt commands.
>
> Move the check for a previously set FDT address to after we handle the
> "move" command also, so we don't need a dummy call to "fdt addr" first,
> before being able to move the devicetree.
>
> This skips one pointless "fdt addr" call in scripts which aim to alter
> the control DT, but need to copy it to a safe location first (for
> instance to $fdt_addr_r).
>
> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
> Reviewed-by: Simon Glass <sjg at chromium.org>
> ---
> cmd/fdt.c | 28 +++++++++++++++++-----------
> 1 file changed, 17 insertions(+), 11 deletions(-)
>
> diff --git a/cmd/fdt.c b/cmd/fdt.c
> index 0ba691c573b..1972490bdc2 100644
> --- a/cmd/fdt.c
> +++ b/cmd/fdt.c
> @@ -208,19 +208,11 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
> }
>
> return CMD_RET_SUCCESS;
> - }
> -
> - if (!working_fdt) {
> - puts("No FDT memory address configured. Please configure\n"
> - "the FDT address via \"fdt addr <address>\" command.\n"
> - "Aborting!\n");
> - return CMD_RET_FAILURE;
> - }
>
> /*
> * Move the working_fdt
> */
> - if (strncmp(argv[1], "mo", 2) == 0) {
> + } else if (strncmp(argv[1], "mo", 2) == 0) {
> struct fdt_header *newaddr;
> int len;
> int err;
> @@ -263,9 +255,20 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
> return 1;
> }
It's not part of your changes, but this should rather be:
return CMD_RET_FAILURE;
Lothar Waßmann
More information about the U-Boot
mailing list