diff --git a/include/chipdrivers.h b/include/chipdrivers.h
index 22068ec..845c20a 100644
--- a/include/chipdrivers.h
+++ b/include/chipdrivers.h
@@ -52,7 +52,7 @@
 int spi_block_erase_d8(struct flashctx *flash, unsigned int addr, unsigned int blocklen);
 int spi_block_erase_db(struct flashctx *flash, unsigned int addr, unsigned int blocklen);
 int spi_block_erase_dc(struct flashctx *flash, unsigned int addr, unsigned int blocklen);
-erasefunc_t *spi_get_erasefn_from_opcode(uint8_t opcode);
+erasefunc_t *spi25_get_erasefn_from_opcode(uint8_t opcode);
 uint8_t spi_get_opcode_from_erasefn(erasefunc_t *func);
 int spi_chip_write_1(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
 int spi_nbyte_read(struct flashctx *flash, unsigned int addr, uint8_t *bytes, unsigned int len);
diff --git a/sfdp.c b/sfdp.c
index bf14482..6867185 100644
--- a/sfdp.c
+++ b/sfdp.c
@@ -81,7 +81,7 @@
 {
 	int i;
 	uint32_t total_size = chip->total_size * 1024;
-	erasefunc_t *erasefn = spi_get_erasefn_from_opcode(opcode);
+	erasefunc_t *erasefn = spi25_get_erasefn_from_opcode(opcode);
 
 	if (erasefn == NULL || total_size == 0 || block_size == 0 ||
 	    total_size % block_size != 0) {
diff --git a/spi25.c b/spi25.c
index be612c6..6f17481 100644
--- a/spi25.c
+++ b/spi25.c
@@ -603,7 +603,7 @@
 static const struct {
 	erasefunc_t *func;
 	uint8_t opcode;
-} function_opcode_list[] = {
+} spi25_function_opcode_list[] = {
 	{&spi_block_erase_20, 0x20},
 	{&spi_block_erase_21, 0x21},
 	{&spi_block_erase_50, 0x50},
@@ -621,12 +621,12 @@
 	{&spi_block_erase_dc, 0xdc},
 };
 
-erasefunc_t *spi_get_erasefn_from_opcode(uint8_t opcode)
+erasefunc_t *spi25_get_erasefn_from_opcode(uint8_t opcode)
 {
 	size_t i;
-	for (i = 0; i < ARRAY_SIZE(function_opcode_list); i++) {
-		if (function_opcode_list[i].opcode == opcode)
-			return function_opcode_list[i].func;
+	for (i = 0; i < ARRAY_SIZE(spi25_function_opcode_list); i++) {
+		if (spi25_function_opcode_list[i].opcode == opcode)
+			return spi25_function_opcode_list[i].func;
 	}
 	msg_cinfo("%s: unknown erase opcode (0x%02x). Please report "
 			  "this at flashrom-stable@flashrom.org\n", __func__, opcode);
