summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2016-01-22 18:01:55 -0800
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2016-09-29 06:10:21 +0200
commitf9461b41fe306ad4eedb6b5d17ea9e43d1ab3f92 (patch)
tree9bb24923e3a1971ada42e447cd2bd485464d2d19
parent34fcaeec51fa3f519a13eb8d127abea1853e77e5 (diff)
common/board_r: make should_load_env weak
Make should_load_env a weak function. This allows a board to decide whether to load the environment or not. This can be useful when detecting recovery mode to avoid loading hostile environments. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--arch/arm/include/asm/u-boot-arm.h1
-rw-r--r--arch/arm/lib/board.c2
-rw-r--r--common/board_r.c4
3 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/include/asm/u-boot-arm.h b/arch/arm/include/asm/u-boot-arm.h
index 414042d403..c48182ff7d 100644
--- a/arch/arm/include/asm/u-boot-arm.h
+++ b/arch/arm/include/asm/u-boot-arm.h
@@ -37,6 +37,7 @@ int arch_early_init_r(void);
/* board/.../... */
int board_init(void);
void dram_init_banksize (void);
+int should_load_env(void);
/* cpu/.../interrupt.c */
int arch_interrupt_init (void);
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index 1f2bab1182..27f2d622bb 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -464,7 +464,7 @@ static char *failed = "*** failed ***\n";
*
* @return 0 if environment should not be loaded, !=0 if it is ok to load
*/
-static int should_load_env(void)
+__weak int should_load_env(void)
{
#ifdef CONFIG_OF_CONTROL
return fdtdec_get_config_int(gd->fdt_blob, "load-environment", 1);
diff --git a/common/board_r.c b/common/board_r.c
index b1ad6058e7..26ea942497 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -425,8 +425,8 @@ static int initr_dataflash(void)
* important, since no verification is done on the environment.
*
* @return 0 if environment should not be loaded, !=0 if it is ok to load
- */
-static int should_load_env(void)
+ */
+__weak int should_load_env(void)
{
#ifdef CONFIG_OF_CONTROL
return fdtdec_get_config_int(gd->fdt_blob, "load-environment", 1);