X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=env%2Fonenand.c;h=dfd4e939f8f89d816b1e9410080f811f9b0139d9;hb=1b6ae82a5abb4cbedb0d6cb262526173f4efa486;hp=d7ad45a0e549ae639fc129aec453c720d86eb4dd;hpb=203e94f6c9ca03e260175ce240f5856507395585;p=oweals%2Fu-boot.git diff --git a/env/onenand.c b/env/onenand.c index d7ad45a0e5..dfd4e939f8 100644 --- a/env/onenand.c +++ b/env/onenand.c @@ -1,16 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * (C) Copyright 2010 DENX Software Engineering * Wolfgang Denk * * (C) Copyright 2005-2009 Samsung Electronics * Kyungmin Park - * - * SPDX-License-Identifier: GPL-2.0+ */ #include #include -#include +#include #include #include #include @@ -21,14 +20,12 @@ #include #include -char *env_name_spec = "OneNAND"; - #define ONENAND_MAX_ENV_SIZE CONFIG_ENV_SIZE #define ONENAND_ENV_SIZE(mtd) (ONENAND_MAX_ENV_SIZE - ENV_HEADER_SIZE) DECLARE_GLOBAL_DATA_PTR; -void env_relocate_spec(void) +static int env_onenand_load(void) { struct mtd_info *mtd = &onenand_mtd; #ifdef CONFIG_ENV_ADDR_FLEX @@ -59,11 +56,13 @@ void env_relocate_spec(void) #endif /* !ENV_IS_EMBEDDED */ rc = env_import(buf, 1); - if (rc) + if (!rc) gd->env_valid = ENV_VALID; + + return rc; } -int saveenv(void) +static int env_onenand_save(void) { env_t env_new; int ret; @@ -106,11 +105,9 @@ int saveenv(void) return 0; } -int env_init(void) -{ - /* use default */ - gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = ENV_VALID; - - return 0; -} +U_BOOT_ENV_LOCATION(onenand) = { + .location = ENVL_ONENAND, + ENV_NAME("OneNAND") + .load = env_onenand_load, + .save = env_save_ptr(env_onenand_save), +};