summaryrefslogtreecommitdiffstats
path: root/spi25.c
diff options
context:
space:
mode:
authorAarya Chaumal <aarya.chaumal@gmail.com>2022-06-23 16:21:23 +0530
committerThomas Heijligen <src@posteo.de>2022-06-27 08:53:00 +0000
commitd41595e207107f3716535f6fb128a32db6c2fefa (patch)
treeb5c4c9c349c5d972124803bd1c76958098085f3c /spi25.c
parent2343ad9ffe0bc1ce45567ff6abcc40f2e4a5f3a7 (diff)
downloadflashrom-d41595e207107f3716535f6fb128a32db6c2fefa.tar.gz
flashrom-d41595e207107f3716535f6fb128a32db6c2fefa.tar.bz2
flashrom-d41595e207107f3716535f6fb128a32db6c2fefa.zip
spi25.c: Add function to return opcode of passed erase fucntion pointer
There is a function, spi_get_erasefn_from_opcode, which returns the erase function for given opcode. Add a function which does the opposite i.e. returns the opcode for given erase function. Change-Id: Ia3aefc9b9465efdd16b1678bb2ada9a23f00d316 Signed-off-by: Aarya Chaumal <aarya.chaumal@gmail.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/65355 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Thomas Heijligen <src@posteo.de>
Diffstat (limited to 'spi25.c')
-rw-r--r--spi25.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/spi25.c b/spi25.c
index acd13b33f..445410630 100644
--- a/spi25.c
+++ b/spi25.c
@@ -651,6 +651,18 @@ erasefunc_t *spi_get_erasefn_from_opcode(uint8_t opcode)
return NULL;
}
+uint8_t spi_get_opcode_from_erasefn(erasefunc_t *func)
+{
+ size_t i;
+ for (i = 0; i < ARRAY_SIZE(function_opcode_list); i++) {
+ if (function_opcode_list[i].func == func)
+ return function_opcode_list[i].opcode;
+ }
+ msg_cinfo("%s: unknown erase function (0x%p). Please report "
+ "this at flashrom@flashrom.org\n", __func__, func);
+ return 0x00; //Assuming 0x00 is not a erase function opcode
+}
+
static int spi_nbyte_program(struct flashctx *flash, unsigned int addr, const uint8_t *bytes, unsigned int len)
{
const bool native_4ba = flash->chip->feature_bits & FEATURE_4BA_WRITE && spi_master_4ba(flash);