autoboot.c: Fill env vars in process_fdt_options() only if TEXT_BASE is set
authorStefan Roese <sr@denx.de>
Thu, 28 Jan 2016 16:34:40 +0000 (17:34 +0100)
committerBin Meng <bmeng.cn@gmail.com>
Fri, 5 Feb 2016 04:47:20 +0000 (12:47 +0800)
The x86 build target "efi-x86" has no TEXT_BASE configured. And with the
introduction of CONFIG_BOOTDELAY for x86, this function is now called
for this board as well. Resulting in compile errors for this target.

Without TEXT_BASE it makes no sense to fill these values. So lets only
configure the env variable if TEXT_BASE is defined.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
common/autoboot.c

index c11fb3123615b5834837854dd60ce2c1c32b206c..223e06274025bea71afd2b15052ca2337d07d7bb 100644 (file)
@@ -287,7 +287,7 @@ static int abortboot(int bootdelay)
 
 static void process_fdt_options(const void *blob)
 {
-#if defined(CONFIG_OF_CONTROL)
+#if defined(CONFIG_OF_CONTROL) && defined(CONFIG_SYS_TEXT_BASE)
        ulong addr;
 
        /* Add an env variable to point to a kernel payload, if available */
@@ -299,7 +299,7 @@ static void process_fdt_options(const void *blob)
        addr = fdtdec_get_config_int(gd->fdt_blob, "rootdisk-offset", 0);
        if (addr)
                setenv_addr("rootaddr", (void *)(CONFIG_SYS_TEXT_BASE + addr));
-#endif /* CONFIG_OF_CONTROL */
+#endif /* CONFIG_OF_CONTROL && CONFIG_SYS_TEXT_BASE */
 }
 
 const char *bootdelay_process(void)