mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-05 04:36:13 +02:00
fw_env: move "erasesize" calculation up in a code
Calculate "erasesize" in the same place where other offsets and lengths / sizes are calculated. It makes code more consistent and will allow further cleanups. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This commit is contained in:
parent
1d175b2108
commit
ffd8024efc
20
tools/env/fw_env.c
vendored
20
tools/env/fw_env.c
vendored
@ -1007,6 +1007,7 @@ static int flash_write_buf(int dev, int fd, void *buf, size_t count)
|
||||
if (DEVTYPE(dev) == MTD_ABSENT) {
|
||||
blocklen = count;
|
||||
erase_len = blocklen;
|
||||
erasesize = erase_len;
|
||||
block_seek = 0;
|
||||
write_total = blocklen;
|
||||
} else {
|
||||
@ -1016,6 +1017,15 @@ static int flash_write_buf(int dev, int fd, void *buf, size_t count)
|
||||
|
||||
/* Maximum area we may use */
|
||||
erase_len = environment_end(dev) - erase_offset;
|
||||
if (DEVTYPE(dev) == MTD_NANDFLASH) {
|
||||
/*
|
||||
* NAND: calculate which blocks we are writing. We have
|
||||
* to write one block at a time to skip bad blocks.
|
||||
*/
|
||||
erasesize = blocklen;
|
||||
} else {
|
||||
erasesize = erase_len;
|
||||
}
|
||||
|
||||
/* Offset inside a block */
|
||||
block_seek = DEVOFFSET(dev) - erase_offset;
|
||||
@ -1069,16 +1079,6 @@ static int flash_write_buf(int dev, int fd, void *buf, size_t count)
|
||||
data = buf;
|
||||
}
|
||||
|
||||
if (DEVTYPE(dev) == MTD_NANDFLASH) {
|
||||
/*
|
||||
* NAND: calculate which blocks we are writing. We have
|
||||
* to write one block at a time to skip bad blocks.
|
||||
*/
|
||||
erasesize = blocklen;
|
||||
} else {
|
||||
erasesize = erase_len;
|
||||
}
|
||||
|
||||
erase.length = erasesize;
|
||||
|
||||
/* This only runs once on NOR flash and SPI-dataflash */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user