diff options
| -rw-r--r-- | drivers/mtd/cfi_flash.c | 33 | ||||
| -rw-r--r-- | include/flash.h | 1 | 
2 files changed, 23 insertions, 11 deletions
| diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c index 37af62742..b8422e15f 100644 --- a/drivers/mtd/cfi_flash.c +++ b/drivers/mtd/cfi_flash.c @@ -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) diff --git a/include/flash.h b/include/flash.h index 8a00c2f89..05fa57240 100644 --- a/include/flash.h +++ b/include/flash.h @@ -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); |