+// SPDX-License-Identifier: GPL-2.0+
/*
* (C) Copyright 2010 DENX Software Engineering
* Wolfgang Denk <wd@denx.de>
*
* (C) Copyright 2005-2009 Samsung Electronics
* Kyungmin Park <kyungmin.park@samsung.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/onenand.h>
-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;
-static void env_onenand_load(void)
+static int env_onenand_load(void)
{
struct mtd_info *mtd = &onenand_mtd;
#ifdef CONFIG_ENV_ADDR_FLEX
#endif /* !ENV_IS_EMBEDDED */
rc = env_import(buf, 1);
- if (rc)
+ if (!rc)
gd->env_valid = ENV_VALID;
+
+ return rc;
}
static int env_onenand_save(void)
return 0;
}
-static int env_onenand_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),
- .init = env_onenand_init,
};