env: Inline env_get_char() into its only user

This function is a relic from the past when environment was read from
underlying device one character at a time.

It is used only in the case when getting an environemnt variable prior
relocation, and the function is simple enough to be inlined there.

Since env_get_char() is being changed to simple access to an array, we
can drop the failing cases and simplify the code (this could have been
done before, since env_get_char() did not fail even before).

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Marek Behún
2021-10-17 17:36:30 +02:00
committed by Simon Glass
parent 7b611ee90e
commit 52f9ed34cb
4 changed files with 16 additions and 35 deletions

8
env/env.c vendored
View File

@@ -166,14 +166,6 @@ static struct env_driver *env_driver_lookup(enum env_operation op, int prio)
return drv;
}
int env_get_char(int index)
{
if (gd->env_valid == ENV_INVALID)
return default_environment[index];
else
return *(uchar *)(gd->env_addr + index);
}
int env_load(void)
{
struct env_driver *drv;

5
env/nowhere.c vendored
View File

@@ -31,9 +31,8 @@ static int env_nowhere_init(void)
static int env_nowhere_load(void)
{
/*
* for SPL, set env_valid = ENV_INVALID is enough as env_get_char()
* return the default env if env_get is used
* and SPL don't used env_import to reduce its size
* For SPL, setting env_valid = ENV_INVALID is enough, as env_get()
* searches default_environment array in that case.
* For U-Boot proper, import the default environment to allow reload.
*/
if (!IS_ENABLED(CONFIG_SPL_BUILD))