env: Add env_export() wrapper

Implement env_export() wrapper, so that all implementers of saveenv() don't
have to call hexport_r(), crc32() etc. sequence . This trims down a bit of
code duplication.

Signed-off-by: Marek Vasut <marex@denx.de>
This commit is contained in:
Marek Vasut
2014-03-05 19:59:50 +01:00
committed by Tom Rini
parent b401b73d02
commit 7ce1526ed2
12 changed files with 65 additions and 116 deletions

View File

@ -56,17 +56,12 @@ void env_relocate_spec(void)
int saveenv(void)
{
env_t env_new;
ssize_t len;
char *res;
env_t env_new;
int ret;
res = (char *)&env_new.data;
len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);
if (len < 0) {
error("Cannot export environment: errno = %d\n", errno);
return 1;
}
env_new.crc = crc32(0, env_new.data, ENV_SIZE);
ret = env_export(&env_new);
if (ret)
return ret;
return write_dataflash(CONFIG_ENV_ADDR,
(unsigned long)&env_new,