diff options
author | John Rigby <john.rigby@linaro.org> | 2010-10-13 13:57:34 -0600 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2010-10-18 22:52:10 +0200 |
commit | 5a75e121075a63f312ae07409477b6f686840a93 (patch) | |
tree | ed3bf92da428f7cec1cdc1a5689deae6d38ce7ae /arch/nios2/lib/bootm.c | |
parent | a6bd9e83abc811d5cade88cb5e7caf93b4f7abe1 (diff) | |
download | u-boot-imx-5a75e121075a63f312ae07409477b6f686840a93.zip u-boot-imx-5a75e121075a63f312ae07409477b6f686840a93.tar.gz u-boot-imx-5a75e121075a63f312ae07409477b6f686840a93.tar.bz2 |
FDT: only call boot_get_fdt from generic code
All arches except nios2 and microblaze call boot_get_fdt
from bootm_start in common/cmd_bootm.c.
Having nios2 and microblaze do so as well removes code from
their respective do_bootm_linux routines and allows removal of
a nasty ifdef from bootm_start.
In the case where boot_get_fdt returns an error bootm_start
returns and the platform specific do_bootm_linux routines
will never get called.
Also only check argv[3] for an fdt addr if argc > 3 first.
This is already the case for nios2.
Signed-off-by: John Rigby <john.rigby@linaro.org>
CC: Scott McNutt <smcnutt@psyent.com>
CC: Michal Simek <monstr@monstr.eu>
CC: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Wolfgang Denk <wd@denx.de>
Acked-by: Michal Simek <monstr@monstr.eu>
Tested-by: Thomas Chou <thomas@wytron.com.tw>
Diffstat (limited to 'arch/nios2/lib/bootm.c')
-rw-r--r-- | arch/nios2/lib/bootm.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/nios2/lib/bootm.c b/arch/nios2/lib/bootm.c index 40a4d15..f32be52 100644 --- a/arch/nios2/lib/bootm.c +++ b/arch/nios2/lib/bootm.c @@ -36,11 +36,9 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima ulong initrd_end = images->rd_end; char *of_flat_tree = NULL; #if defined(CONFIG_OF_LIBFDT) - ulong of_size = 0; - - /* find flattened device tree */ - if (boot_get_fdt(flag, argc, argv, images, &of_flat_tree, &of_size)) - return 1; + /* did generic code already find a device tree? */ + if (images->ft_len) + of_flat_tree = images->ft_addr; #endif if (!of_flat_tree && argc > 3) of_flat_tree = (char *)simple_strtoul(argv[3], NULL, 16); |