
On 03/09/2024 20:14, Tom Rini wrote:
On Sat, Aug 31, 2024 at 05:46:19PM +0100, Caleb Connolly wrote:
When using the FDT command to inspect an arbitrary FDT in memory, it will always be necessary to explicitly set the FDT address. However it is also quite likely that the command is being used to inspect U-Boot's own FDT. Simplify that common workflow of running "fdt addr -c" to get the control address and set it by just making $fdtcontroladdr the default FDT if there isn't one.
Signed-off-by: Caleb Connolly caleb.connolly@linaro.org
cmd/fdt.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/cmd/fdt.c b/cmd/fdt.c index d16b141ce32d..8909706e2483 100644 --- a/cmd/fdt.c +++ b/cmd/fdt.c @@ -276,8 +276,17 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
return CMD_RET_SUCCESS;
}
- /* Try using U-Boot's FDT by default */
- if (!working_fdt) {
struct fdt_header *addr;
addr = (void *)env_get_hex("fdtcontroladdr", 0);
if (addr && fdt_check_header(&addr))
set_working_fdt_addr((phys_addr_t)addr);
- }
- if (!working_fdt) { puts("No FDT memory address configured. Please configure\n" "the FDT address via "fdt addr <address>" command.\n" "Aborting!\n");
Setting aside the behavior change (which I am thinking about), this makes the next check of !working_fdt dead code which should be removed.
I wasn't sure if we could safely assume that fdtcontroladdr always points to a valid FDT, if that's true then yes this can be dropped.