1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-06-30 21:52:36 +02:00

tree/: Convert flashchip write func ptr to enumerate

This forges the way for flashchips.c to be pure declarative
data and lookup functions for dispatch to be pure. This
means that the flashchips data could be extracted out to
be agnostic data of the flashrom code and algorithms.

TEST='R|W|E && --flash-name' on ARM, AMD & Intel DUT's.

Change-Id: I80149de169464b204fb09f1424a86fc645b740fd
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/66782
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nikolai Artemiev <nartemiev@google.com>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
This commit is contained in:
Edward O'Callaghan
2022-08-16 11:48:40 +10:00
committed by Felix Singer
parent 10e7a0ebd7
commit 985ad5623f
7 changed files with 656 additions and 599 deletions

View File

@ -146,12 +146,14 @@ static void teardown(struct flashrom_layout **layout)
io_mock_register(NULL);
}
extern write_func_t *g_test_write_injector;
static const struct flashchip chip_8MiB = {
.vendor = "aklm",
.total_size = MOCK_CHIP_SIZE / KiB,
.tested = TEST_OK_PREW,
.read = read_chip,
.write = write_chip,
.write = TEST_WRITE_INJECTOR,
.unlock = unlock_chip,
.block_erasers =
{{
@ -167,7 +169,7 @@ static const struct flashchip chip_W25Q128_V = {
.total_size = 16 * 1024,
.tested = TEST_OK_PREW,
.read = spi_chip_read,
.write = spi_chip_write_256,
.write = SPI_CHIP_WRITE256,
.unlock = spi_disable_blockprotect,
.page_size = 256,
.block_erasers =
@ -203,6 +205,7 @@ void erase_chip_test_success(void **state)
.fallback_open_state = &data,
};
g_test_write_injector = write_chip;
struct flashrom_flashctx flashctx = { 0 };
struct flashrom_layout *layout;
struct flashchip mock_chip = chip_8MiB;
@ -261,6 +264,7 @@ void read_chip_test_success(void **state)
.fallback_open_state = &data,
};
g_test_write_injector = write_chip;
struct flashrom_flashctx flashctx = { 0 };
struct flashrom_layout *layout;
struct flashchip mock_chip = chip_8MiB;
@ -332,6 +336,7 @@ void write_chip_test_success(void **state)
.fallback_open_state = &data,
};
g_test_write_injector = write_chip;
struct flashrom_flashctx flashctx = { 0 };
struct flashrom_layout *layout;
struct flashchip mock_chip = chip_8MiB;
@ -429,6 +434,7 @@ void verify_chip_test_success(void **state)
.fallback_open_state = &data,
};
g_test_write_injector = write_chip;
struct flashrom_flashctx flashctx = { 0 };
struct flashrom_layout *layout;
struct flashchip mock_chip = chip_8MiB;