summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2011-12-09 12:14:29 +0100
committerWolfgang Denk <wd@denx.de>2011-12-10 23:11:48 +0100
commit2ccf26da5e088639ce8ad0dbbd7ae3a503fa82f7 (patch)
tree0577042ea9a1b264364ab675d52198c7b286b0d2
parent85e04b7af70a1acebe89de9e5be13daac495410e (diff)
downloadu-boot-imx-2ccf26da5e088639ce8ad0dbbd7ae3a503fa82f7.zip
u-boot-imx-2ccf26da5e088639ce8ad0dbbd7ae3a503fa82f7.tar.gz
u-boot-imx-2ccf26da5e088639ce8ad0dbbd7ae3a503fa82f7.tar.bz2
board/ti/omap1610inn/flash.c: Fix GCC 4.6 build warnings
Fix: flash.c: In function 'flash_get_offsets': flash.c:139:10: warning: variable 'pOrgDef' set but not used [-Wunused-but-set-variable] flash.c: In function 'flash_erase': flash.c:280:6: warning: variable 'flag' set but not used [-Wunused-but-set-variable] flash.c: In function 'write_data': flash.c:456:6: warning: variable 'flag' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Tom Rini <trini@ti.com>
-rw-r--r--board/ti/omap1610inn/flash.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/board/ti/omap1610inn/flash.c b/board/ti/omap1610inn/flash.c
index 1b67d08..a99a91c 100644
--- a/board/ti/omap1610inn/flash.c
+++ b/board/ti/omap1610inn/flash.c
@@ -136,9 +136,7 @@ void flash_unlock(flash_info_t * info)
static void flash_get_offsets (ulong base, flash_info_t * info)
{
int i;
- OrgDef *pOrgDef;
- pOrgDef = OrgIntel_28F256L18T;
if (info->flash_id == FLASH_UNKNOWN) {
return;
}
@@ -352,6 +350,9 @@ int flash_erase (flash_info_t * info, int s_first, int s_last)
printf (" done\n");
}
}
+ if (flag)
+ enable_interrupts();
+
return rcode;
}
@@ -453,13 +454,13 @@ static int write_data (flash_info_t * info, ulong dest, FPW data)
{
FPWV *addr = (FPWV *) dest;
ulong status;
- int flag;
+ int flag, rc = 0;
ulong start;
/* Check if Flash is (sufficiently) erased */
if ((*addr & data) != data) {
- printf ("not erased at %08lx (%x)\n", (ulong) addr, *addr);
- return (2);
+ printf("not erased at %08lx (%x)\n", (ulong) addr, *addr);
+ return 2;
}
/* Disable interrupts which might cause a timeout here */
flag = disable_interrupts ();
@@ -472,12 +473,16 @@ static int write_data (flash_info_t * info, ulong dest, FPW data)
/* wait while polling the status register */
while (((status = *addr) & (FPW) 0x00800080) != (FPW) 0x00800080) {
if (get_timer(start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
- *addr = (FPW) 0x00FF00FF; /* restore read mode */
- return (1);
+ rc = 1;
+ goto done;
}
}
+done:
+ if (flag)
+ enable_interrupts();
+
*addr = (FPW) 0x00FF00FF; /* restore read mode */
- return (0);
+ return rc;
}
void inline spin_wheel (void)