mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-26 22:52:34 +02:00
flashrom.c: Update check_block_eraser function to use probe opcode
Update the check_block_eraser function to use probe_opcode to see if the given block_eraser is supported by the spi master. This will help to get a real count of usable block_erasers. Change-Id: I6591a84ae1fe5bc1648051cc30b9393450033852 Signed-off-by: Aarya Chaumal <aarya.chaumal@gmail.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/66717 Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
ed1126fc42
commit
0f389aea9e
12
flashrom.c
12
flashrom.c
@ -446,6 +446,18 @@ static int check_block_eraser(const struct flashctx *flash, int k, int log)
|
||||
"eraseblock layout is not defined. ");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (flash->mst->buses_supported & BUS_SPI) {
|
||||
const uint8_t *opcode = spi_get_opcode_from_erasefn(eraser.block_erase);
|
||||
for (int i = 0; opcode[i]; i++) {
|
||||
if (!flash->mst->spi.probe_opcode(flash, opcode[i])) {
|
||||
if (log)
|
||||
msg_cdbg("block erase function and layout found "
|
||||
"but SPI master doesn't support the function. ");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
// TODO: Once erase functions are annotated with allowed buses, check that as well.
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user