flash: Add interface for flash verbosity control
PATCH 1/1 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).
--- drivers/mtd/cfi_flash.c | 33 ++++++++++++++++++++++----------- include/flash.h | 1 + 2 files changed, 23 insertions(+), 11 deletions(-)
drivers/mtd/cfi_flash.c +22 -11
@@ -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
@@ -1051,7 +1052,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' ); }
@@ -1098,11 +1099,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; }
@@ -1214,14 +1218,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)
@@ -1939,6 +1945,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 )
include/flash.h +1 -0
@@ -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);
Signature · 1 line
1.5.6.1
PATCH 1/1 flash: Add interface for flash verbosity control
Quoted 7 lines · Piotr Ziecik
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 <[email protected]>
Applied to u-boot-cfi-flash. Thanks.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================