summaryrefslogtreecommitdiffstats
path: root/common/env_dataflash.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/env_dataflash.c')
-rw-r--r--common/env_dataflash.c32
1 files changed, 12 insertions, 20 deletions
diff --git a/common/env_dataflash.c b/common/env_dataflash.c
index b1386d1df3..3c5af37bf5 100644
--- a/common/env_dataflash.c
+++ b/common/env_dataflash.c
@@ -27,23 +27,17 @@
DECLARE_GLOBAL_DATA_PTR;
-env_t *env_ptr = NULL;
+env_t *env_ptr;
-char * env_name_spec = "dataflash";
-
-extern int read_dataflash(unsigned long addr, unsigned long size,
- char *result);
-extern int write_dataflash(unsigned long addr_dest,
- unsigned long addr_src, unsigned long size);
-extern int AT91F_DataflashInit(void);
+char *env_name_spec = "dataflash";
uchar env_get_char_spec(int index)
{
uchar c;
- read_dataflash(CONFIG_ENV_ADDR + index + offsetof(env_t,data),
+ read_dataflash(CONFIG_ENV_ADDR + index + offsetof(env_t, data),
1, (char *)&c);
- return (c);
+ return c;
}
void env_relocate_spec(void)
@@ -71,7 +65,7 @@ int saveenv(void)
error("Cannot export environment: errno = %d\n", errno);
return 1;
}
- env_new.crc = crc32(0, env_new.data, ENV_SIZE);
+ env_new.crc = crc32(0, env_new.data, ENV_SIZE);
return write_dataflash(CONFIG_ENV_ADDR,
(unsigned long)&env_new,
@@ -86,7 +80,7 @@ int saveenv(void)
*/
int env_init(void)
{
- ulong crc, len, new;
+ ulong crc, len = ENV_SIZE, new = 0;
unsigned off;
uchar buf[64];
@@ -99,25 +93,23 @@ int env_init(void)
read_dataflash(CONFIG_ENV_ADDR + offsetof(env_t, crc),
sizeof(ulong), (char *)&crc);
- new = 0;
- len = ENV_SIZE;
- off = offsetof(env_t,data);
+ off = offsetof(env_t, data);
while (len > 0) {
int n = (len > sizeof(buf)) ? sizeof(buf) : len;
read_dataflash(CONFIG_ENV_ADDR + off, n, (char *)buf);
- new = crc32 (new, buf, n);
+ new = crc32(new, buf, n);
len -= n;
off += n;
}
if (crc == new) {
- gd->env_addr = offsetof(env_t,data);
- gd->env_valid = 1;
+ gd->env_addr = offsetof(env_t, data);
+ gd->env_valid = 1;
} else {
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = 0;
+ gd->env_addr = (ulong)&default_environment[0];
+ gd->env_valid = 0;
}
return 0;
OpenPOWER on IntegriCloud