From 7938822a6b75b69fff9793b6b1769dddf1249525 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 3 Aug 2017 12:22:02 -0600 Subject: env: Drop common init() functions Most of the init() implementations just use the default environment. Adjust env_init_new() to do this automatically, and drop the redundant code. Signed-off-by: Simon Glass Reviewed-by: Tom Rini --- env/env.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'env/env.c') diff --git a/env/env.c b/env/env.c index d327f9cdff..12cd4750df 100644 --- a/env/env.c +++ b/env/env.c @@ -128,14 +128,18 @@ int env_save(void) int env_init_new(void) { struct env_driver *drv = env_driver_lookup_default(); - int ret; + int ret = -ENOENT; if (!drv) return -ENODEV; - if (!drv->init) - return -ENOSYS; - ret = drv->init(); - if (ret) { + if (drv->init) + ret = drv->init(); + if (ret == -ENOENT) { + gd->env_addr = (ulong)&default_environment[0]; + gd->env_valid = 0; + + return 0; + } else if (ret) { debug("%s: Environment failed to init (err=%d)\n", __func__, ret); return ret; -- cgit v1.2.3