diff options
author | Heiko Schocher <hs@pollux.denx.de> | 2006-04-11 14:39:21 +0200 |
---|---|---|
committer | Heiko Schocher <hs@pollux.denx.de> | 2006-04-11 14:39:21 +0200 |
commit | bb74140defaff27ccd4c7f8ecfec3244f5890777 (patch) | |
tree | 611e4b46cf0c17a06c30d021833a8ad6fd874997 | |
parent | 3a5e21881a194f4d4e053be8410d82a2458e8544 (diff) | |
download | u-boot-imx-bb74140defaff27ccd4c7f8ecfec3244f5890777.zip u-boot-imx-bb74140defaff27ccd4c7f8ecfec3244f5890777.tar.gz u-boot-imx-bb74140defaff27ccd4c7f8ecfec3244f5890777.tar.bz2 |
Fixes common/cmd_flash.c:
- fix some compiler/parser error, if using m68k tool chain
- optical fix for protect on/off all messages, if using more
then one bank
Patch by Jens Scharsig, 28 July 2005
-rw-r--r-- | CHANGELOG | 7 | ||||
-rw-r--r-- | common/cmd_flash.c | 15 |
2 files changed, 14 insertions, 8 deletions
@@ -2,6 +2,13 @@ Changes since U-Boot 1.1.4: ====================================================================== +* Fixes common/cmd_flash.c: + + - fix some compiler/parser error, if using m68k tool chain + - optical fix for protect on/off all messages, if using more + then one bank + Patch by Jens Scharsig, 28 July 2005 + * Fix Lite5200B support: initialize SDelay register See Freescale's AN3221 "MPC5200B SDRAM Initialization and Configuration", 3.3.1 SDelay--MBAR + 0x0190 diff --git a/common/cmd_flash.c b/common/cmd_flash.c index 201f4e3..cb1c5bb 100644 --- a/common/cmd_flash.c +++ b/common/cmd_flash.c @@ -125,13 +125,16 @@ abbrev_spec (char *str, flash_info_t ** pinfo, int *psf, int *psl) static int addr_spec(char *arg1, char *arg2, ulong *addr_first, ulong *addr_last) { - char len_used = 0; /* indicates if the "start +length" form used */ char *ep; + char len_used; /* indicates if the "start +length" form used */ + char found; + ulong bank; *addr_first = simple_strtoul(arg1, &ep, 16); if (ep == arg1 || *ep != '\0') return -1; + len_used = 0; if (arg2 && *arg2 == '+'){ len_used = 1; ++arg2; @@ -142,9 +145,6 @@ addr_spec(char *arg1, char *arg2, ulong *addr_first, ulong *addr_last) return -1; if (len_used){ - char found = 0; - ulong bank; - /* * *addr_last has the length, compute correct *addr_last * XXX watch out for the integer overflow! Right now it is @@ -159,6 +159,7 @@ addr_spec(char *arg1, char *arg2, ulong *addr_first, ulong *addr_last) */ /* find the end addr of the sector where the *addr_last is */ + found = 0; for (bank = 0; bank < CFG_MAX_FLASH_BANKS && !found; ++bank){ int i; flash_info_t *info = &flash_info[bank]; @@ -506,12 +507,10 @@ int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) info->protect[i] = p; #endif /* CFG_FLASH_PROTECTION */ } - } - #if defined(CFG_FLASH_PROTECTION) - if (!rcode) puts (" done\n"); + if (!rcode) puts (" done\n"); #endif /* CFG_FLASH_PROTECTION */ - + } return rcode; } |