--- embedtools/src/ub_env.c 2014/01/28 22:22:34 1.1.2.4 +++ embedtools/src/ub_env.c 2014/01/28 22:37:07 1.1.2.5 @@ -6,15 +6,22 @@ env_t *env; static int -ub_flash_io(env_t * __restrict e, int mode) +ub_flash_io(const char *csSec, int mode) { int f, ret = 0; + const char *str; FTRACE(4); - f = open(DRV_UB_ENV_MAP, mode); + str = cfg_getAttribute(&cfg, csSec, "drive"); + if (!str) { + printf("Error:: drive not found!\n"); + return -1; + } + + f = open(str, mode); if (f == -1) { - printf("Error:: Can't access u-boot-env device %s\n", DRV_UB_ENV_MAP); + printf("Error:: Can't access u-boot-env device %s\n", str); return -1; } @@ -32,6 +39,8 @@ ub_load(const char *csSec) const char *str; size_t siz; + FTRACE(4); + str = cfg_getAttribute(&cfg, csSec, "size"); siz = strtol(str, NULL, 0); if (!siz) @@ -49,12 +58,14 @@ ub_load(const char *csSec) void ub_unload() { + FTRACE(4); + if (env) e_free(env); } const char* -ub_getenv(const char *csName) +ub_getenv(const char *csSec, const char *csName) { const char *str = NULL; @@ -64,7 +75,7 @@ ub_getenv(const char *csName) } int -ub_setenv(const char *csName, const char *csValue) +ub_setenv(const char *csSec, const char *csName, const char *csValue) { FTRACE(3);