|
@@ -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;
|