+// SPDX-License-Identifier: GPL-2.0+
/*
* (C) Copyright 2010 DENX Software Engineering
*
* (C) Copyright 2005-2009 Samsung Electronics
- *
- * SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <command.h>
-#include <environment.h>
+#include <env_internal.h>
+#include <asm/global_data.h>
#include <linux/stddef.h>
#include <malloc.h>
#include <search.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
mtd->writesize = MAX_ONENAND_PAGESIZE;
#endif /* !ENV_IS_EMBEDDED */
- rc = env_import(buf, 1);
- if (rc)
+ rc = env_import(buf, 1, H_EXTERNAL);
+ if (!rc)
gd->env_valid = ENV_VALID;
+
+ return rc;
}
static int env_onenand_save(void)
U_BOOT_ENV_LOCATION(onenand) = {
.location = ENVL_ONENAND,
+ ENV_NAME("OneNAND")
.load = env_onenand_load,
.save = env_save_ptr(env_onenand_save),
};