
On Mon, 17 Jun 2024 at 18:33, Jerome Forissier jerome.forissier@linaro.org wrote:
Prefix the flash status codes (ERR_*) with FL_ in order to avoid clashes with third-party libraries. Case in point: including the lwIP library header file <lwip/err.h> which defines err_enum_t as an enum with values being ERR_*.
Signed-off-by: Jerome Forissier jerome.forissier@linaro.org
board/cobra5272/flash.c | 26 +++++++++--------- board/freescale/m5253demo/flash.c | 6 ++--- common/flash.c | 44 +++++++++++++++---------------- drivers/mtd/cfi_flash.c | 36 ++++++++++++------------- include/flash.h | 20 +++++++------- 5 files changed, 66 insertions(+), 66 deletions(-)
diff --git a/board/cobra5272/flash.c b/board/cobra5272/flash.c index 8416af163ad..6464975f184 100644 --- a/board/cobra5272/flash.c +++ b/board/cobra5272/flash.c @@ -134,22 +134,22 @@ int flash_erase(flash_info_t *info, int s_first, int s_last) { ulong result; int iflag, cflag, prot, sect;
int rc = ERR_OK;
int rc = FL_ERR_OK; int chip1; ulong start; /* first look for protection bits */ if (info->flash_id == FLASH_UNKNOWN)
return ERR_UNKNOWN_FLASH_TYPE;
return FL_ERR_UNKNOWN_FLASH_TYPE; if ((s_first < 0) || (s_first > s_last)) {
return ERR_INVAL;
return FL_ERR_INVAL; } if ((info->flash_id & FLASH_VENDMASK) != (AMD_MANUFACT & FLASH_VENDMASK)) {
return ERR_UNKNOWN_FLASH_VENDOR;
return FL_ERR_UNKNOWN_FLASH_VENDOR; } prot = 0;
@@ -159,7 +159,7 @@ int flash_erase(flash_info_t *info, int s_first, int s_last) } } if (prot)
return ERR_PROTECTED;
return FL_ERR_PROTECTED; /* * Disable interrupts which might cause a timeout
@@ -216,11 +216,11 @@ int flash_erase(flash_info_t *info, int s_first, int s_last) MEM_FLASH_ADDR1 = CMD_READ_ARRAY;
if (chip1 == ERR) {
rc = ERR_PROG_ERROR;
rc = FL_ERR_PROG_ERROR; goto outahere; } if (chip1 == TMO) {
rc = ERR_TIMEOUT;
rc = FL_ERR_TIMEOUT; goto outahere; }
@@ -251,7 +251,7 @@ static int write_word(flash_info_t *info, ulong dest, ulong data) { volatile u16 *addr = (volatile u16 *) dest; ulong result;
int rc = ERR_OK;
int rc = FL_ERR_OK; int cflag, iflag; int chip1; ulong start;
@@ -261,7 +261,7 @@ static int write_word(flash_info_t *info, ulong dest, ulong data) */ result = *addr; if ((result & data) != data)
return ERR_NOT_ERASED;
return FL_ERR_NOT_ERASED; /*
@@ -302,7 +302,7 @@ static int write_word(flash_info_t *info, ulong dest, ulong data) *addr = CMD_READ_ARRAY;
if (chip1 == ERR || *addr != data)
rc = ERR_PROG_ERROR;
rc = FL_ERR_PROG_ERROR; if (iflag) enable_interrupts();
@@ -321,13 +321,13 @@ int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt)
if (addr & 1) { printf ("unaligned destination not supported\n");
return ERR_ALIGN;
return FL_ERR_ALIGN; }
#if 0 if (cnt & 1) { printf ("odd transfer sizes not supported\n");
return ERR_ALIGN;
return FL_ERR_ALIGN; }
#endif
@@ -365,5 +365,5 @@ int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt) cnt -= 1; }
return ERR_OK;
return FL_ERR_OK;
} diff --git a/board/freescale/m5253demo/flash.c b/board/freescale/m5253demo/flash.c index eeb9cfd3125..b6b7df88761 100644 --- a/board/freescale/m5253demo/flash.c +++ b/board/freescale/m5253demo/flash.c @@ -71,7 +71,7 @@ int flash_get_offsets(ulong base, flash_info_t * info) } }
return ERR_OK;
return FL_ERR_OK;
}
void flash_print_info(flash_info_t * info) @@ -368,9 +368,9 @@ int write_buff(flash_info_t * info, uchar * src, ulong addr, ulong cnt) }
if (cnt == 0)
return ERR_OK;
return FL_ERR_OK;
return ERR_OK;
return FL_ERR_OK;
}
/*----------------------------------------------------------------------- diff --git a/common/flash.c b/common/flash.c index 848f44e59df..99fd84e2aef 100644 --- a/common/flash.c +++ b/common/flash.c @@ -110,13 +110,13 @@ addr2info(ulong addr)
- Make sure all target addresses are within Flash bounds,
- and no protected sectors are hit.
- Returns:
- ERR_OK 0 - OK
- ERR_TIMEOUT 1 - write timeout
- ERR_NOT_ERASED 2 - Flash not erased
- ERR_PROTECTED 4 - target range includes protected sectors
- ERR_INVAL 8 - target address not in Flash memory
- ERR_ALIGN 16 - target address not aligned on boundary
(only some targets require alignment)
- FL_ERR_OK 0 - OK
- FL_ERR_TIMEOUT 1 - write timeout
- FL_ERR_NOT_ERASED 2 - Flash not erased
- FL_ERR_PROTECTED 4 - target range includes protected sectors
- FL_ERR_INVAL 8 - target address not in Flash memory
- FL_ERR_ALIGN 16 - target address not aligned on boundary
*/
(only some targets require alignment)
int flash_write(char *src, ulong addr, ulong cnt) @@ -131,11 +131,11 @@ flash_write(char *src, ulong addr, ulong cnt) __maybe_unused ulong cnt_orig = cnt;
if (cnt == 0) {
return (ERR_OK);
return (FL_ERR_OK); } if (!info_first || !info_last) {
return (ERR_INVAL);
return (FL_ERR_INVAL); } for (info = info_first; info <= info_last; ++info) {
@@ -146,7 +146,7 @@ flash_write(char *src, ulong addr, ulong cnt)
if ((end >= info->start[i]) && (addr < e_addr) && (info->protect[i] != 0) ) {
return (ERR_PROTECTED);
return (FL_ERR_PROTECTED); } } }
@@ -169,11 +169,11 @@ flash_write(char *src, ulong addr, ulong cnt) #if defined(CONFIG_FLASH_VERIFY) if (memcmp(src_orig, addr_orig, cnt_orig)) { printf("\nVerify failed!\n");
return ERR_PROG_ERROR;
return FL_ERR_PROG_ERROR; }
#endif /* CONFIG_SYS_FLASH_VERIFY_AFTER_WRITE */
return (ERR_OK);
return (FL_ERR_OK);
}
/*----------------------------------------------------------------------- @@ -182,33 +182,33 @@ flash_write(char *src, ulong addr, ulong cnt) void flash_perror(int err) { switch (err) {
case ERR_OK:
case FL_ERR_OK: break;
case ERR_TIMEOUT:
case FL_ERR_TIMEOUT: puts ("Timeout writing to Flash\n"); break;
case ERR_NOT_ERASED:
case FL_ERR_NOT_ERASED: puts ("Flash not Erased\n"); break;
case ERR_PROTECTED:
case FL_ERR_PROTECTED: puts ("Can't write to protected Flash sectors\n"); break;
case ERR_INVAL:
case FL_ERR_INVAL: puts ("Outside available Flash\n"); break;
case ERR_ALIGN:
case FL_ERR_ALIGN: puts ("Start and/or end address not on sector boundary\n"); break;
case ERR_UNKNOWN_FLASH_VENDOR:
case FL_ERR_UNKNOWN_FLASH_VENDOR: puts ("Unknown Vendor of Flash\n"); break;
case ERR_UNKNOWN_FLASH_TYPE:
case FL_ERR_UNKNOWN_FLASH_TYPE: puts ("Unknown Type of Flash\n"); break;
case ERR_PROG_ERROR:
case FL_ERR_PROG_ERROR: puts ("General Flash Programming Error\n"); break;
case ERR_ABORTED:
case FL_ERR_ABORTED: puts("Flash Programming Aborted\n"); break; default:
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c index 8ade7949a68..6369c7127c6 100644 --- a/drivers/mtd/cfi_flash.c +++ b/drivers/mtd/cfi_flash.c @@ -592,11 +592,11 @@ static int flash_status_check(flash_info_t *info, flash_sect_t sector, flash_read_long(info, sector, 0)); flash_write_cmd(info, sector, 0, info->cmd_reset); udelay(1);
return ERR_TIMEOUT;
return FL_ERR_TIMEOUT; } udelay(1); /* also triggers watchdog */ }
return ERR_OK;
return FL_ERR_OK;
}
/*----------------------------------------------------------------------- @@ -615,9 +615,9 @@ static int flash_full_status_check(flash_info_t *info, flash_sect_t sector, case CFI_CMDSET_INTEL_PROG_REGIONS: case CFI_CMDSET_INTEL_EXTENDED: case CFI_CMDSET_INTEL_STANDARD:
if (retcode == ERR_OK &&
if (retcode == FL_ERR_OK && !flash_isset(info, sector, 0, FLASH_STATUS_DONE)) {
retcode = ERR_INVAL;
retcode = FL_ERR_INVAL; printf("Flash %s error at address %lx\n", prompt, info->start[sector]); if (flash_isset(info, sector, 0, FLASH_STATUS_ECLBS |
@@ -626,14 +626,14 @@ static int flash_full_status_check(flash_info_t *info, flash_sect_t sector, } else if (flash_isset(info, sector, 0, FLASH_STATUS_ECLBS)) { puts("Block Erase Error.\n");
retcode = ERR_NOT_ERASED;
retcode = FL_ERR_NOT_ERASED; } else if (flash_isset(info, sector, 0, FLASH_STATUS_PSLBS)) { puts("Locking Error\n"); } if (flash_isset(info, sector, 0, FLASH_STATUS_DPS)) { puts("Block locked.\n");
retcode = ERR_PROTECTED;
retcode = FL_ERR_PROTECTED; } if (flash_isset(info, sector, 0, FLASH_STATUS_VPENS)) puts("Vpp Low Error.\n");
@@ -701,12 +701,12 @@ static int flash_status_poll(flash_info_t *info, void *src, void *dst, if (get_timer(start) > tout) { printf("Flash %s timeout at address %lx data %lx\n", prompt, (ulong)dst, (ulong)flash_read8(dst));
return ERR_TIMEOUT;
return FL_ERR_TIMEOUT; } udelay(1); /* also triggers watchdog */ }
#endif /* CONFIG_SYS_CFI_FLASH_STATUS_POLL */
return ERR_OK;
return FL_ERR_OK;
}
/*----------------------------------------------------------------------- @@ -809,7 +809,7 @@ static int flash_write_cfiword(flash_info_t *info, ulong dest, cfiword_t cword) break; } if (!flag)
return ERR_NOT_ERASED;
return FL_ERR_NOT_ERASED; /* Disable interrupts which might cause a timeout here */ flag = disable_interrupts();
@@ -898,7 +898,7 @@ static int flash_write_cfibuffer(flash_info_t *info, ulong dest, uchar *cp, shift = 3; break; default:
retcode = ERR_INVAL;
retcode = FL_ERR_INVAL; goto out_unmap; }
@@ -929,7 +929,7 @@ static int flash_write_cfibuffer(flash_info_t *info, ulong dest, uchar *cp, } } if (!flag) {
retcode = ERR_NOT_ERASED;
retcode = FL_ERR_NOT_ERASED; goto out_unmap; }
@@ -949,7 +949,7 @@ static int flash_write_cfibuffer(flash_info_t *info, ulong dest, uchar *cp, retcode = flash_status_check(info, sector, info->buffer_write_tout, "write to buffer");
if (retcode == ERR_OK) {
if (retcode == FL_ERR_OK) { /* reduce the number of loops by the width of * the port */
@@ -974,7 +974,7 @@ static int flash_write_cfibuffer(flash_info_t *info, ulong dest, uchar *cp, src += 8, dst += 8; break; default:
retcode = ERR_INVAL;
retcode = FL_ERR_INVAL; goto out_unmap; } }
@@ -1024,7 +1024,7 @@ static int flash_write_cfibuffer(flash_info_t *info, ulong dest, uchar *cp, } break; default:
retcode = ERR_INVAL;
retcode = FL_ERR_INVAL; goto out_unmap; }
@@ -1042,7 +1042,7 @@ static int flash_write_cfibuffer(flash_info_t *info, ulong dest, uchar *cp,
default: debug("Unknown Command Set\n");
retcode = ERR_INVAL;
retcode = FL_ERR_INVAL; break; }
@@ -1388,7 +1388,7 @@ int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt) if (i > cnt) i = cnt; rc = flash_write_cfibuffer(info, wp, src, i);
if (rc != ERR_OK)
if (rc != FL_ERR_OK) return rc; i -= i & (info->portwidth - 1); wp += i;
@@ -1397,7 +1397,7 @@ int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt) FLASH_SHOW_PROGRESS(scale, dots, digit, i); /* Only check every once in a while */ if ((cnt & 0xFFFF) < buffered_size && ctrlc())
return ERR_ABORTED;
return FL_ERR_ABORTED; }
#else while (cnt >= info->portwidth) { @@ -1412,7 +1412,7 @@ int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt) FLASH_SHOW_PROGRESS(scale, dots, digit, info->portwidth); /* Only check every once in a while */ if ((cnt & 0xFFFF) < info->portwidth && ctrlc())
return ERR_ABORTED;
return FL_ERR_ABORTED; }
#endif /* CONFIG_SYS_FLASH_USE_BUFFER_WRITE */
diff --git a/include/flash.h b/include/flash.h index 3710a2731b7..77bee42f76b 100644 --- a/include/flash.h +++ b/include/flash.h @@ -125,16 +125,16 @@ void flash_perror(int err); /*-----------------------------------------------------------------------
- return codes from flash_write():
*/ -#define ERR_OK 0 -#define ERR_TIMEOUT 1 -#define ERR_NOT_ERASED 2 -#define ERR_PROTECTED 4 -#define ERR_INVAL 8 -#define ERR_ALIGN 16 -#define ERR_UNKNOWN_FLASH_VENDOR 32 -#define ERR_UNKNOWN_FLASH_TYPE 64 -#define ERR_PROG_ERROR 128 -#define ERR_ABORTED 256 +#define FL_ERR_OK 0 +#define FL_ERR_TIMEOUT 1 +#define FL_ERR_NOT_ERASED 2 +#define FL_ERR_PROTECTED 4 +#define FL_ERR_INVAL 8 +#define FL_ERR_ALIGN 16 +#define FL_ERR_UNKNOWN_FLASH_VENDOR 32 +#define FL_ERR_UNKNOWN_FLASH_TYPE 64 +#define FL_ERR_PROG_ERROR 128 +#define FL_ERR_ABORTED 256
/*-----------------------------------------------------------------------
- Protection Flags for flash_protect():
-- 2.40.1
Reviewed-by: Ilias Apalodimas ilias.apalodimas@linaro.org