mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
cmd/fdt: fix uncallable systemsetup command
The function that is processing the 'fdt' parameters is one big if-else if. In order to be able to type command faster only the first few letter are checked to know which block of code to execute. For systemsetup, the block of code that was executed was always the wrong one and ended up in a failure. } else if (argv[1][0] == 's') { process "fdt set" command } else if (strncmp(argv[1], "sys", 3) == 0) { process "fdt systemsetup" command. } When typing "fdt systemsetup", the code that was executed was the code for "fdt set". This commit fix this issue by moving the "else if" for systemsetup before the else if for "fdt set". This allow us to keep compatibility with any script that make use of "fdt s" to set node values. Signed-off-by: Fabien Parent <fparent@baylibre.com> Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
8269ee4f96
commit
f7f191ee41
1 changed files with 10 additions and 12 deletions
22
cmd/fdt.c
22
cmd/fdt.c
|
@ -206,7 +206,17 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||
return 1;
|
||||
}
|
||||
working_fdt = newaddr;
|
||||
#ifdef CONFIG_OF_SYSTEM_SETUP
|
||||
/* Call the board-specific fixup routine */
|
||||
} else if (strncmp(argv[1], "sys", 3) == 0) {
|
||||
int err = ft_system_setup(working_fdt, gd->bd);
|
||||
|
||||
if (err) {
|
||||
printf("Failed to add system information to FDT: %s\n",
|
||||
fdt_strerror(err));
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
* Make a new node
|
||||
*/
|
||||
|
@ -576,18 +586,6 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||
return CMD_RET_FAILURE;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_OF_SYSTEM_SETUP
|
||||
/* Call the board-specific fixup routine */
|
||||
else if (strncmp(argv[1], "sys", 3) == 0) {
|
||||
int err = ft_system_setup(working_fdt, gd->bd);
|
||||
|
||||
if (err) {
|
||||
printf("Failed to add system information to FDT: %s\n",
|
||||
fdt_strerror(err));
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/* Create a chosen node */
|
||||
else if (strncmp(argv[1], "cho", 3) == 0) {
|
||||
|
|
Loading…
Reference in a new issue