cfi_flash: Add interface for flash verbosity control
Add interface for flash verbosity control. It allows to disable output from low-level flash API. It is useful when calling these low-level functions from context other than flash commands (for example the MTD/CFI interface implmentation). Signed-off-by: Piotr Ziecik <kosmo@semihalf.com> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
ebc9784ce6
commit
6ea808efdf
@ -158,6 +158,7 @@ typedef union {
|
||||
#define NUM_ERASE_REGIONS 4 /* max. number of erase regions */
|
||||
|
||||
static uint flash_offset_cfi[2] = { FLASH_OFFSET_CFI, FLASH_OFFSET_CFI_ALT };
|
||||
static uint flash_verbose = 1;
|
||||
|
||||
/* use CONFIG_SYS_MAX_FLASH_BANKS_DETECT if defined */
|
||||
#ifdef CONFIG_SYS_MAX_FLASH_BANKS_DETECT
|
||||
@ -1070,7 +1071,7 @@ int flash_erase (flash_info_t * info, int s_first, int s_last)
|
||||
if (prot) {
|
||||
printf ("- Warning: %d protected sectors will not be erased!\n",
|
||||
prot);
|
||||
} else {
|
||||
} else if (flash_verbose) {
|
||||
putc ('\n');
|
||||
}
|
||||
|
||||
@ -1117,11 +1118,14 @@ int flash_erase (flash_info_t * info, int s_first, int s_last)
|
||||
if (flash_full_status_check
|
||||
(info, sect, info->erase_blk_tout, "erase")) {
|
||||
rcode = 1;
|
||||
} else
|
||||
} else if (flash_verbose)
|
||||
putc ('.');
|
||||
}
|
||||
}
|
||||
puts (" done\n");
|
||||
|
||||
if (flash_verbose)
|
||||
puts (" done\n");
|
||||
|
||||
return rcode;
|
||||
}
|
||||
|
||||
@ -1233,14 +1237,16 @@ void flash_print_info (flash_info_t * info)
|
||||
*/
|
||||
#ifdef CONFIG_FLASH_SHOW_PROGRESS
|
||||
#define FLASH_SHOW_PROGRESS(scale, dots, digit, dots_sub) \
|
||||
dots -= dots_sub; \
|
||||
if ((scale > 0) && (dots <= 0)) { \
|
||||
if ((digit % 5) == 0) \
|
||||
printf ("%d", digit / 5); \
|
||||
else \
|
||||
putc ('.'); \
|
||||
digit--; \
|
||||
dots += scale; \
|
||||
if (flash_verbose) { \
|
||||
dots -= dots_sub; \
|
||||
if ((scale > 0) && (dots <= 0)) { \
|
||||
if ((digit % 5) == 0) \
|
||||
printf ("%d", digit / 5); \
|
||||
else \
|
||||
putc ('.'); \
|
||||
digit--; \
|
||||
dots += scale; \
|
||||
} \
|
||||
}
|
||||
#else
|
||||
#define FLASH_SHOW_PROGRESS(scale, dots, digit, dots_sub)
|
||||
@ -1958,6 +1964,11 @@ ulong flash_get_size (ulong base, int banknum)
|
||||
return (info->size);
|
||||
}
|
||||
|
||||
void flash_set_verbose(uint v)
|
||||
{
|
||||
flash_verbose = v;
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
*/
|
||||
unsigned long flash_init (void)
|
||||
|
@ -95,6 +95,7 @@ extern int flash_sect_erase (ulong addr_first, ulong addr_last);
|
||||
extern int flash_sect_protect (int flag, ulong addr_first, ulong addr_last);
|
||||
extern int flash_sect_roundb (ulong *addr);
|
||||
extern unsigned long flash_sector_size(flash_info_t *info, flash_sect_t sect);
|
||||
extern void flash_set_verbose(uint);
|
||||
|
||||
/* common/flash.c */
|
||||
extern void flash_protect (int flag, ulong from, ulong to, flash_info_t *info);
|
||||
|
Loading…
Reference in New Issue
Block a user