diff options
author | Edward O'Callaghan <quasisec@google.com> | 2022-08-12 14:09:06 +1000 |
---|---|---|
committer | Anastasia Klimchuk <aklm@chromium.org> | 2022-09-07 01:53:36 +0000 |
commit | 65c99b17b8bac66caecbf0dea716d80af0311dd7 (patch) | |
tree | fc866cd9df9a6c9bbf8793015bc2a51797a9719f /sb600spi.c | |
parent | 848825e049dfa8e18e33ed9cfa3b4ea61ac6ee4a (diff) | |
download | flashrom-65c99b17b8bac66caecbf0dea716d80af0311dd7.tar.gz flashrom-65c99b17b8bac66caecbf0dea716d80af0311dd7.tar.bz2 flashrom-65c99b17b8bac66caecbf0dea716d80af0311dd7.zip |
sb600spi.c: Allow passing programmer_cfg directly
Modify the type signature of the programmer entry-point
xxx_init() functions to allow for the consumption of the
programmer parameterisation string data.
Also plumb programmer_cfg though handle_imc and handle_speed.
Change-Id: I82f9ee75df90c582ef345c00a5487c687f28cdd5
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/66660
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Diffstat (limited to 'sb600spi.c')
-rw-r--r-- | sb600spi.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -408,7 +408,8 @@ static int set_mode(struct pci_dev *dev, uint8_t mode, uint8_t *sb600_spibar) return 0; } -static int handle_speed(struct pci_dev *dev, enum amd_chipset amd_gen, uint8_t *sb600_spibar) +static int handle_speed(const struct programmer_cfg *cfg, + struct pci_dev *dev, enum amd_chipset amd_gen, uint8_t *sb600_spibar) { uint32_t tmp; int16_t spispeed_idx = -1; @@ -521,7 +522,7 @@ static int handle_speed(struct pci_dev *dev, enum amd_chipset amd_gen, uint8_t * return set_speed(dev, amd_gen, spispeed_idx, sb600_spibar); } -static int handle_imc(struct pci_dev *dev, enum amd_chipset amd_gen) +static int handle_imc(const struct programmer_cfg *cfg, struct pci_dev *dev, enum amd_chipset amd_gen) { /* Handle IMC everywhere but sb600 which does not have one. */ if (amd_gen == CHIPSET_SB6XX) @@ -629,7 +630,7 @@ static const struct spi_master spi_master_promontory = { .probe_opcode = default_spi_probe_opcode, }; -int sb600_probe_spi(struct pci_dev *dev) +int sb600_probe_spi(const struct programmer_cfg *cfg, struct pci_dev *dev) { struct pci_dev *smbus_dev; uint32_t tmp; @@ -789,10 +790,10 @@ int sb600_probe_spi(struct pci_dev *dev) return 0; } - if (handle_speed(dev, amd_gen, sb600_spibar) != 0) + if (handle_speed(cfg, dev, amd_gen, sb600_spibar) != 0) return ERROR_FATAL; - if (handle_imc(dev, amd_gen) != 0) + if (handle_imc(cfg, dev, amd_gen) != 0) return ERROR_FATAL; struct sb600spi_data *data = calloc(1, sizeof(*data)); |