aboutsummaryrefslogtreecommitdiff
path: root/env/sf.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-05-02 19:00:42 -0400
committerTom Rini <trini@konsulko.com>2022-05-02 19:00:42 -0400
commit2406a91734eb4eeeb50fdfaeff65d0b7f464dba9 (patch)
treefa542b95605c994f96abedb8f3186a5cd82ee8dc /env/sf.c
parentc70c0102af5413cadde6bf90044cb75aefef0584 (diff)
parent08dc62c1527ec7401cc98719cde50ca47533a7c2 (diff)
Merge https://source.denx.de/u-boot/custodians/u-boot-marvell
- Misc turris_omnia/mox related Fixes and impovements (Pali) - Turris Omnia: Add support for configuring mSATA and WWAN slots via env variables (Pali) - net: mvgbe: Set PHY page 0 before phy_connect (Tony) - kirkwood: nsa310s: Use Marvell uclass mvgbe and PHY driver (Tony) - mvebu: turris_omnia: Fix SYS_RSTOUT_* macro names (Pali) - mvebu: clearfog_defconfig: enable setexpr command (Josef) - mvebu: x530: set MPP55 to gpio (Chris)
Diffstat (limited to 'env/sf.c')
-rw-r--r--env/sf.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/env/sf.c b/env/sf.c
index 6a4bb756f0..d2c07cd716 100644
--- a/env/sf.c
+++ b/env/sf.c
@@ -24,10 +24,6 @@
#include <dm/device-internal.h>
#include <u-boot/crc.h>
-#ifndef CONFIG_SPL_BUILD
-#define INITENV
-#endif
-
#define OFFSET_INVALID (~(u32)0)
#ifdef CONFIG_ENV_OFFSET_REDUND
@@ -322,14 +318,15 @@ done:
return ret;
}
-#if CONFIG_ENV_ADDR != 0x0
__weak void *env_sf_get_env_addr(void)
{
+#ifndef CONFIG_SPL_BUILD
return (void *)CONFIG_ENV_ADDR;
-}
+#else
+ return NULL;
#endif
+}
-#if defined(INITENV) && (CONFIG_ENV_ADDR != 0x0)
/*
* check if Environment on CONFIG_ENV_ADDR is valid.
*/
@@ -337,6 +334,9 @@ static int env_sf_init_addr(void)
{
env_t *env_ptr = (env_t *)env_sf_get_env_addr();
+ if (!env_ptr)
+ return -ENOENT;
+
if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) {
gd->env_addr = (ulong)&(env_ptr->data);
gd->env_valid = ENV_VALID;
@@ -346,7 +346,6 @@ static int env_sf_init_addr(void)
return 0;
}
-#endif
#if defined(CONFIG_ENV_SPI_EARLY)
/*
@@ -432,9 +431,10 @@ out:
static int env_sf_init(void)
{
-#if defined(INITENV) && (CONFIG_ENV_ADDR != 0x0)
- return env_sf_init_addr();
-#elif defined(CONFIG_ENV_SPI_EARLY)
+ int ret = env_sf_init_addr();
+ if (ret != -ENOENT)
+ return ret;
+#ifdef CONFIG_ENV_SPI_EARLY
return env_sf_init_early();
#endif
/*