Fix do_div() usage in nand process output
Fix usage of do_div() in nand erase|read|write process output. The last patch to nand_util.c introduced do_div() instead of libgcc's implementation. But do_div() returns the quotient in its first macro parameter and not as result. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
This commit is contained in:
parent
c750d2e669
commit
5bd7fe9aeb
|
@ -456,7 +456,7 @@ U_BOOT_CMD(nand, 5, 1, do_nand,
|
|||
"info - show available NAND devices\n"
|
||||
"nand device [dev] - show or set current device\n"
|
||||
"nand read[.jffs2] - addr off|partition size\n"
|
||||
"nand write[.jffs2] - addr off|partiton size - read/write `size' bytes starting\n"
|
||||
"nand write[.jffs2] - addr off|partition size - read/write `size' bytes starting\n"
|
||||
" at offset `off' to/from memory address `addr'\n"
|
||||
"nand erase [clean] [off size] - erase `size' bytes from\n"
|
||||
" offset `off' (entire device if not specified)\n"
|
||||
|
|
|
@ -210,9 +210,12 @@ int nand_erase_opts(nand_info_t *meminfo, const nand_erase_options_t *opts)
|
|||
|
||||
if (!opts->quiet) {
|
||||
unsigned long long n =(unsigned long long)
|
||||
(erase.addr+meminfo->erasesize-opts->offset)
|
||||
* 100;
|
||||
int percent = (int)do_div(n, erase_length);
|
||||
(erase.addr + meminfo->erasesize - opts->offset)
|
||||
* 100;
|
||||
int percent;
|
||||
|
||||
do_div(n, erase_length);
|
||||
percent = (int)n;
|
||||
|
||||
/* output progress message only at whole percent
|
||||
* steps to reduce the number of messages printed
|
||||
|
@ -478,7 +481,11 @@ int nand_write_opts(nand_info_t *meminfo, const nand_write_options_t *opts)
|
|||
if (!opts->quiet) {
|
||||
unsigned long long n = (unsigned long long)
|
||||
(opts->length-imglen) * 100;
|
||||
int percent = (int)do_div(n, opts->length);
|
||||
int percent;
|
||||
|
||||
do_div(n, opts->length);
|
||||
percent = (int)n;
|
||||
|
||||
/* output progress message only at whole percent
|
||||
* steps to reduce the number of messages printed
|
||||
* on (slow) serial consoles
|
||||
|
@ -653,7 +660,11 @@ int nand_read_opts(nand_info_t *meminfo, const nand_read_options_t *opts)
|
|||
if (!opts->quiet) {
|
||||
unsigned long long n = (unsigned long long)
|
||||
(opts->length-imglen) * 100;
|
||||
int percent = (int)do_div(n ,opts->length);
|
||||
int percent;
|
||||
|
||||
do_div(n, opts->length);
|
||||
percent = (int)n;
|
||||
|
||||
/* output progress message only at whole percent
|
||||
* steps to reduce the number of messages printed
|
||||
* on (slow) serial consoles
|
||||
|
|
Loading…
Reference in New Issue