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:
Rafał Miłecki 2026-02-21 11:00:10 +01:00 committed by Tom Rini
parent 1d175b2108
commit ffd8024efc

20
tools/env/fw_env.c vendored
View File

@ -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 */