mb/prodrive/hermes: Simplify `read_write_config` signature

The `write_offset` parameter is always zero. Remove it.

Change-Id: Ib63cb25904ad6c1c7424a9c01d8bf1e84c08453b
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52884
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Angel Pons 2021-05-03 14:01:56 +02:00
parent 9bc780fc9f
commit f1e8535794
2 changed files with 7 additions and 8 deletions

View File

@ -21,7 +21,7 @@ int check_signature(const size_t offset, const uint64_t signature)
{ {
u8 blob[8] = {0}; u8 blob[8] = {0};
if (!read_write_config(blob, offset, 0, ARRAY_SIZE(blob))) { if (!read_write_config(blob, offset, ARRAY_SIZE(blob))) {
/* Check signature */ /* Check signature */
if (*(uint64_t *)blob == signature) { if (*(uint64_t *)blob == signature) {
printk(BIOS_DEBUG, "CFG EEPROM: Signature valid.\n"); printk(BIOS_DEBUG, "CFG EEPROM: Signature valid.\n");
@ -41,7 +41,7 @@ static bool get_board_settings_from_eeprom(struct eeprom_board_settings *board_c
{ {
const size_t board_settings_offset = offsetof(struct eeprom_layout, BoardSettings); const size_t board_settings_offset = offsetof(struct eeprom_layout, BoardSettings);
if (read_write_config(board_cfg, board_settings_offset, 0, sizeof(*board_cfg))) { if (read_write_config(board_cfg, board_settings_offset, sizeof(*board_cfg))) {
printk(BIOS_ERR, "CFG EEPROM: Failed to read board settings\n"); printk(BIOS_ERR, "CFG EEPROM: Failed to read board settings\n");
return false; return false;
} }
@ -79,7 +79,7 @@ struct eeprom_bmc_settings *get_bmc_settings(void)
static int valid = 0; static int valid = 0;
if (valid == 0) { if (valid == 0) {
if (read_write_config(&bmc_cfg, bmc_settings_offset, 0, sizeof(bmc_cfg))) { if (read_write_config(&bmc_cfg, bmc_settings_offset, sizeof(bmc_cfg))) {
printk(BIOS_ERR, "CFG EEPROM: Failed to read BMC settings\n"); printk(BIOS_ERR, "CFG EEPROM: Failed to read BMC settings\n");
return NULL; return NULL;
} }
@ -100,7 +100,7 @@ uint8_t get_bmc_hsi(void)
} }
/* Read data from offset and write it to offset in UPD */ /* Read data from offset and write it to offset in UPD */
bool read_write_config(void *blob, size_t read_offset, size_t write_offset, size_t size) bool read_write_config(void *blob, size_t read_offset, size_t size)
{ {
int ret = 0; int ret = 0;
@ -120,7 +120,7 @@ bool read_write_config(void *blob, size_t read_offset, size_t write_offset, size
break; break;
/* Write to UPD */ /* Write to UPD */
uint8_t *writePointer = (uint8_t *)blob + write_offset + i; uint8_t *writePointer = (uint8_t *)blob + i;
writePointer[0] = tmp[0]; writePointer[0] = tmp[0];
if (size - i > 1) if (size - i > 1)
writePointer[1] = tmp[1]; writePointer[1] = tmp[1];
@ -188,7 +188,7 @@ bool write_board_settings(const struct eeprom_board_layout *new_layout)
bool changed = false; bool changed = false;
/* Read old settings */ /* Read old settings */
if (read_write_config(&old_layout, off, 0, sizeof(old_layout))) { if (read_write_config(&old_layout, off, sizeof(old_layout))) {
printk(BIOS_ERR, "CFG EEPROM: Read operation failed\n"); printk(BIOS_ERR, "CFG EEPROM: Read operation failed\n");
return true; return true;
} }

View File

@ -91,7 +91,7 @@ _Static_assert(sizeof(FSPM_UPD) <= 0x600, "FSPM_UPD too big");
_Static_assert(sizeof(FSPS_UPD) <= 0xC00, "FSPS_UPD too big"); _Static_assert(sizeof(FSPS_UPD) <= 0xC00, "FSPS_UPD too big");
_Static_assert(sizeof(struct eeprom_layout) == 0x2000, "EEPROM layout size mismatch"); _Static_assert(sizeof(struct eeprom_layout) == 0x2000, "EEPROM layout size mismatch");
bool read_write_config(void *blob, size_t read_offset, size_t write_offset, size_t size); bool read_write_config(void *blob, size_t read_offset, size_t size);
int check_signature(const size_t offset, const uint64_t signature); int check_signature(const size_t offset, const uint64_t signature);
struct eeprom_board_settings *get_board_settings(void); struct eeprom_board_settings *get_board_settings(void);
struct eeprom_bmc_settings *get_bmc_settings(void); struct eeprom_bmc_settings *get_bmc_settings(void);
@ -105,7 +105,6 @@ bool write_board_settings(const struct eeprom_board_layout *new_layout);
size_t __off = offsetof(struct eeprom_layout, section_name); \ size_t __off = offsetof(struct eeprom_layout, section_name); \
bool ret = read_write_config(&__tmp, \ bool ret = read_write_config(&__tmp, \
__off + offsetof(section_type, opt_name), \ __off + offsetof(section_type, opt_name), \
0, \
sizeof(__tmp)); \ sizeof(__tmp)); \
if (ret) { \ if (ret) { \
report_eeprom_error(__off + offsetof(section_type, opt_name)); \ report_eeprom_error(__off + offsetof(section_type, opt_name)); \