X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=env%2Fsata.c;h=a77029774e1f5f46baa09ce09abc18d13f1bde77;hb=23a06416858d839ee62dc00562be956be6d84bd2;hp=6f9099873d9a5afe1fe69886a77ef1a1de0cf10e;hpb=e5bce247b01ae057f05cc80178f0df28ec1d27a7;p=u-boot diff --git a/env/sata.c b/env/sata.c index 6f9099873d..a77029774e 100644 --- a/env/sata.c +++ b/env/sata.c @@ -24,8 +24,6 @@ #error CONFIG_ENV_OFFSET or CONFIG_ENV_SIZE not defined #endif -char *env_name_spec = "SATA"; - DECLARE_GLOBAL_DATA_PTR; __weak int sata_get_env_dev(void) @@ -33,15 +31,6 @@ __weak int sata_get_env_dev(void) return CONFIG_SYS_SATA_ENV_DEV; } -static int env_sata_init(void) -{ - /* use default */ - gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = ENV_VALID; - - return 0; -} - #ifdef CONFIG_CMD_SAVEENV static inline int write_env(struct blk_desc *sata, unsigned long size, unsigned long offset, void *buffer) @@ -109,26 +98,29 @@ static void env_sata_load(void) int env_sata; if (sata_initialize()) - return; + return -EIO; env_sata = sata_get_env_dev(); sata = sata_get_dev(env_sata); if (sata == NULL) { - printf("Unknown SATA(%d) device for environment!\n", - env_sata); - return; + printf("Unknown SATA(%d) device for environment!\n", env_sata); + return -EIO; } - if (read_env(sata, CONFIG_ENV_SIZE, CONFIG_ENV_OFFSET, buf)) - return set_default_env(NULL); + if (read_env(sata, CONFIG_ENV_SIZE, CONFIG_ENV_OFFSET, buf)) { + set_default_env(NULL); + return -EIO; + } env_import(buf, 1); + + return 0; } U_BOOT_ENV_LOCATION(sata) = { .location = ENVL_ESATA, + ENV_NAME("SATA") .load = env_sata_load, .save = env_save_ptr(env_sata_save), - .init = env_sata_init, };