diff options
-rw-r--r-- | atahpt.c | 2 | ||||
-rw-r--r-- | atapromise.c | 2 | ||||
-rw-r--r-- | atavia.c | 2 | ||||
-rw-r--r-- | drkaiser.c | 2 | ||||
-rw-r--r-- | gfxnvidia.c | 2 | ||||
-rw-r--r-- | include/programmer.h | 2 | ||||
-rw-r--r-- | it8212.c | 2 | ||||
-rw-r--r-- | nic3com.c | 2 | ||||
-rw-r--r-- | nicintel.c | 2 | ||||
-rw-r--r-- | nicintel_eeprom.c | 2 | ||||
-rw-r--r-- | nicintel_spi.c | 2 | ||||
-rw-r--r-- | nicnatsemi.c | 2 | ||||
-rw-r--r-- | nicrealtek.c | 2 | ||||
-rw-r--r-- | ogp_spi.c | 2 | ||||
-rw-r--r-- | pcidev.c | 4 | ||||
-rw-r--r-- | satamv.c | 2 | ||||
-rw-r--r-- | satasii.c | 2 | ||||
-rw-r--r-- | tests/tests.c | 2 | ||||
-rw-r--r-- | tests/wraps.h | 4 |
19 files changed, 22 insertions, 20 deletions
@@ -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; diff --git a/atapromise.c b/atapromise.c index 4be2f716..63463f57 100644 --- a/atapromise.c +++ b/atapromise.c @@ -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; @@ -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; diff --git a/gfxnvidia.c b/gfxnvidia.c index 19fa2b66..941f0e8d 100644 --- a/gfxnvidia.c +++ b/gfxnvidia.c @@ -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; diff --git a/include/programmer.h b/include/programmer.h index 4ed68da1..76da9f9d 100644 --- a/include/programmer.h +++ b/include/programmer.h @@ -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); @@ -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; diff --git a/nicintel_eeprom.c b/nicintel_eeprom.c index 8e59a458..4d3e7d58 100644 --- a/nicintel_eeprom.c +++ b/nicintel_eeprom.c @@ -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; diff --git a/nicintel_spi.c b/nicintel_spi.c index 74cb1223..851b5258 100644 --- a/nicintel_spi.c +++ b/nicintel_spi.c @@ -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; diff --git a/nicnatsemi.c b/nicnatsemi.c index b9c58bc3..779fb33d 100644 --- a/nicnatsemi.c +++ b/nicnatsemi.c @@ -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; diff --git a/nicrealtek.c b/nicrealtek.c index 61eb38ba..7bf1ac9e 100644 --- a/nicrealtek.c +++ b/nicrealtek.c @@ -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; @@ -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); @@ -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; diff --git a/tests/tests.c b/tests/tests.c index 11348b5a..7a448d4f 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -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; diff --git a/tests/wraps.h b/tests/wraps.h index bfa8a41f..f97eaba4 100644 --- a/tests/wraps.h +++ b/tests/wraps.h @@ -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); |