mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-26 22:52:34 +02:00
tree: Fix drivers to pass programmer_cfg to pcidev_init()
Allow for programmer_cfg plumbing in pcidev.c The pci drivers impacted are plumbed here as well. Change-Id: Ie0c9d1c0866d44f64d037c596f2e30547fcfd58f Signed-off-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/66671 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-by: Felix Singer <felixsinger@posteo.net>
This commit is contained in:
parent
ea938173a4
commit
5d63d3f884
2
atahpt.c
2
atahpt.c
@ -92,7 +92,7 @@ static int atahpt_init(const struct programmer_cfg *cfg)
|
||||
if (rget_io_perms())
|
||||
return 1;
|
||||
|
||||
dev = pcidev_init(ata_hpt, PCI_BASE_ADDRESS_4);
|
||||
dev = pcidev_init(cfg, ata_hpt, PCI_BASE_ADDRESS_4);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -140,7 +140,7 @@ static int atapromise_init(const struct programmer_cfg *cfg)
|
||||
if (rget_io_perms())
|
||||
return 1;
|
||||
|
||||
dev = pcidev_init(ata_promise, PCI_BASE_ADDRESS_4);
|
||||
dev = pcidev_init(cfg, ata_promise, PCI_BASE_ADDRESS_4);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
2
atavia.c
2
atavia.c
@ -163,7 +163,7 @@ static int atavia_init(const struct programmer_cfg *cfg)
|
||||
}
|
||||
free(arg);
|
||||
|
||||
dev = pcidev_init(ata_via, PCI_ROM_ADDRESS); /* Actually no BAR setup needed at all. */
|
||||
dev = pcidev_init(cfg, ata_via, PCI_ROM_ADDRESS); /* Actually no BAR setup needed at all. */
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -87,7 +87,7 @@ static int drkaiser_init(const struct programmer_cfg *cfg)
|
||||
uint32_t addr;
|
||||
uint8_t *bar;
|
||||
|
||||
dev = pcidev_init(drkaiser_pcidev, PCI_BASE_ADDRESS_2);
|
||||
dev = pcidev_init(cfg, drkaiser_pcidev, PCI_BASE_ADDRESS_2);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -111,7 +111,7 @@ static int gfxnvidia_init(const struct programmer_cfg *cfg)
|
||||
uint32_t reg32;
|
||||
uint8_t *bar;
|
||||
|
||||
dev = pcidev_init(gfx_nvidia, PCI_BASE_ADDRESS_0);
|
||||
dev = pcidev_init(cfg, gfx_nvidia, PCI_BASE_ADDRESS_0);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -124,7 +124,7 @@ struct pci_filter;
|
||||
extern struct pci_access *pacc;
|
||||
int pci_init_common(void);
|
||||
uintptr_t pcidev_readbar(struct pci_dev *dev, int bar);
|
||||
struct pci_dev *pcidev_init(const struct dev_entry *devs, int bar);
|
||||
struct pci_dev *pcidev_init(const struct programmer_cfg *cfg, const struct dev_entry *devs, int bar);
|
||||
struct pci_dev *pcidev_scandev(struct pci_filter *filter, struct pci_dev *start);
|
||||
struct pci_dev *pcidev_getdevfn(struct pci_dev *dev, const int func);
|
||||
struct pci_dev *pcidev_find_vendorclass(uint16_t vendor, uint16_t devclass);
|
||||
|
2
it8212.c
2
it8212.c
@ -78,7 +78,7 @@ static int it8212_init(const struct programmer_cfg *cfg)
|
||||
{
|
||||
uint8_t *bar;
|
||||
|
||||
struct pci_dev *dev = pcidev_init(devs_it8212, PCI_ROM_ADDRESS);
|
||||
struct pci_dev *dev = pcidev_init(cfg, devs_it8212, PCI_ROM_ADDRESS);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -111,7 +111,7 @@ static int nic3com_init(const struct programmer_cfg *cfg)
|
||||
if (rget_io_perms())
|
||||
return 1;
|
||||
|
||||
dev = pcidev_init(nics_3com, PCI_BASE_ADDRESS_0);
|
||||
dev = pcidev_init(cfg, nics_3com, PCI_BASE_ADDRESS_0);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -85,7 +85,7 @@ static int nicintel_init(const struct programmer_cfg *cfg)
|
||||
uint8_t *control_bar;
|
||||
|
||||
/* FIXME: BAR2 is not available if the device uses the CardBus function. */
|
||||
dev = pcidev_init(nics_intel, PCI_BASE_ADDRESS_2);
|
||||
dev = pcidev_init(cfg, nics_intel, PCI_BASE_ADDRESS_2);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -485,7 +485,7 @@ static int nicintel_ee_init(const struct programmer_cfg *cfg)
|
||||
uint32_t eec = 0;
|
||||
uint8_t *eebar;
|
||||
|
||||
struct pci_dev *dev = pcidev_init(nics_intel_ee, PCI_BASE_ADDRESS_0);
|
||||
struct pci_dev *dev = pcidev_init(cfg, nics_intel_ee, PCI_BASE_ADDRESS_0);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -289,7 +289,7 @@ static int nicintel_spi_init(const struct programmer_cfg *cfg)
|
||||
{
|
||||
struct pci_dev *dev = NULL;
|
||||
|
||||
dev = pcidev_init(nics_intel_spi, PCI_BASE_ADDRESS_0);
|
||||
dev = pcidev_init(cfg, nics_intel_spi, PCI_BASE_ADDRESS_0);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -96,7 +96,7 @@ static int nicnatsemi_init(const struct programmer_cfg *cfg)
|
||||
if (rget_io_perms())
|
||||
return 1;
|
||||
|
||||
dev = pcidev_init(nics_natsemi, PCI_BASE_ADDRESS_0);
|
||||
dev = pcidev_init(cfg, nics_natsemi, PCI_BASE_ADDRESS_0);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -107,7 +107,7 @@ static int nicrealtek_init(const struct programmer_cfg *cfg)
|
||||
if (rget_io_perms())
|
||||
return 1;
|
||||
|
||||
dev = pcidev_init(nics_realtek, PCI_BASE_ADDRESS_0);
|
||||
dev = pcidev_init(cfg, nics_realtek, PCI_BASE_ADDRESS_0);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -140,7 +140,7 @@ static int ogp_spi_init(const struct programmer_cfg *cfg)
|
||||
}
|
||||
free(type);
|
||||
|
||||
dev = pcidev_init(ogp_spi, PCI_BASE_ADDRESS_0);
|
||||
dev = pcidev_init(cfg, ogp_spi, PCI_BASE_ADDRESS_0);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
4
pcidev.c
4
pcidev.c
@ -257,7 +257,7 @@ int pci_init_common(void)
|
||||
* also matches the specified bus:device.function.
|
||||
* For convenience, this function also registers its own undo handlers.
|
||||
*/
|
||||
struct pci_dev *pcidev_init(const struct dev_entry *devs, int bar)
|
||||
struct pci_dev *pcidev_init(const struct programmer_cfg *cfg, const struct dev_entry *devs, int bar)
|
||||
{
|
||||
struct pci_dev *dev;
|
||||
struct pci_dev *found_dev = NULL;
|
||||
@ -272,7 +272,7 @@ struct pci_dev *pcidev_init(const struct dev_entry *devs, int bar)
|
||||
pci_filter_init(pacc, &filter);
|
||||
|
||||
/* Filter by bb:dd.f (if supplied by the user). */
|
||||
pcidev_bdf = extract_programmer_param_str(NULL, "pci"); /* TODO(quasisec): pass prog_param */
|
||||
pcidev_bdf = extract_programmer_param_str(cfg, "pci");
|
||||
if (pcidev_bdf != NULL) {
|
||||
if ((msg = pci_filter_parse_slot(&filter, pcidev_bdf))) {
|
||||
msg_perr("Error: %s\n", msg);
|
||||
|
2
satamv.c
2
satamv.c
@ -126,7 +126,7 @@ static int satamv_init(const struct programmer_cfg *cfg)
|
||||
return 1;
|
||||
|
||||
/* BAR0 has all internal registers memory mapped. */
|
||||
dev = pcidev_init(satas_mv, PCI_BASE_ADDRESS_0);
|
||||
dev = pcidev_init(cfg, satas_mv, PCI_BASE_ADDRESS_0);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -112,7 +112,7 @@ static int satasii_init(const struct programmer_cfg *cfg)
|
||||
uint16_t reg_offset, id;
|
||||
uint8_t *bar;
|
||||
|
||||
dev = pcidev_init(satas_sii, PCI_BASE_ADDRESS_0);
|
||||
dev = pcidev_init(cfg, satas_sii, PCI_BASE_ADDRESS_0);
|
||||
if (!dev)
|
||||
return 1;
|
||||
|
||||
|
@ -52,7 +52,7 @@ struct pci_dev mock_pci_dev = {
|
||||
.device_id = NON_ZERO,
|
||||
};
|
||||
|
||||
struct pci_dev *__wrap_pcidev_init(void *devs, int bar)
|
||||
struct pci_dev *__wrap_pcidev_init(const struct programmer_cfg *cfg, void *devs, int bar)
|
||||
{
|
||||
LOG_ME;
|
||||
return &mock_pci_dev;
|
||||
|
@ -19,10 +19,12 @@
|
||||
#include <stdio.h>
|
||||
#include "flash.h"
|
||||
|
||||
struct programmer_cfg; /* defined in programmer.h */
|
||||
|
||||
char *__wrap_strdup(const char *s);
|
||||
void __wrap_physunmap(void *virt_addr, size_t len);
|
||||
void *__wrap_physmap(const char *descr, uintptr_t phys_addr, size_t len);
|
||||
struct pci_dev *__wrap_pcidev_init(void *devs, int bar);
|
||||
struct pci_dev *__wrap_pcidev_init(const struct programmer_cfg *cfg, void *devs, int bar);
|
||||
uintptr_t __wrap_pcidev_readbar(void *dev, int bar);
|
||||
void __wrap_sio_write(uint16_t port, uint8_t reg, uint8_t data);
|
||||
uint8_t __wrap_sio_read(uint16_t port, uint8_t reg);
|
||||
|
Loading…
x
Reference in New Issue
Block a user