[PATCH] cfi_flash: show progress while during erase
Franck Jullien
franck.jullien at gmail.com
Mon May 26 11:20:52 PDT 2014
Sascha,
Any reason why you removed the progress bar here in this commit:
2749fbac48374b5f5ced ?
Franck.
2014-05-26 20:12 GMT+02:00 Franck Jullien <franck.jullien at gmail.com>:
> Signed-off-by: Franck Jullien <franck.jullien at gmail.com>
> ---
> drivers/mtd/nor/cfi_flash.c | 12 ++++++++++--
> 1 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/nor/cfi_flash.c b/drivers/mtd/nor/cfi_flash.c
> index 3d3d231..f2f52e1 100644
> --- a/drivers/mtd/nor/cfi_flash.c
> +++ b/drivers/mtd/nor/cfi_flash.c
> @@ -470,7 +470,7 @@ flash_sect_t find_sector (struct flash_info *info, ulong addr)
> return sector;
> }
>
> -static int cfi_erase(struct flash_info *finfo, size_t count, loff_t offset)
> +static int cfi_erase(struct flash_info *finfo, size_t count, loff_t offset, int verbose)
> {
> unsigned long start, end;
> int i, ret = 0;
> @@ -481,17 +481,25 @@ static int cfi_erase(struct flash_info *finfo, size_t count, loff_t offset)
> end = find_sector(finfo, (unsigned long)finfo->base + offset +
> count - 1);
>
> + if (verbose)
> + init_progression_bar(end - start);
> +
> for (i = start; i <= end; i++) {
> ret = finfo->cfi_cmd_set->flash_erase_one(finfo, i);
> if (ret)
> goto out;
>
> + if (verbose)
> + show_progress(i - start);
> +
> if (ctrlc()) {
> ret = -EINTR;
> goto out;
> }
> }
> out:
> + if (verbose)
> + putchar('\n');
> return ret;
> }
>
> @@ -933,7 +941,7 @@ static int cfi_mtd_erase(struct mtd_info *mtd, struct erase_info *instr)
> struct flash_info *info = container_of(mtd, struct flash_info, mtd);
> int ret;
>
> - ret = cfi_erase(info, instr->len, instr->addr);
> + ret = cfi_erase(info, instr->len, instr->addr, 1);
>
> if (ret) {
> instr->state = MTD_ERASE_FAILED;
> --
> 1.7.1
>
More information about the barebox
mailing list