1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-07-01 14:11:15 +02:00

pcidev: Move pci_card_find() from internal to canonical place

Also rename to `pcidev_card_find()` in fitting with pcidev.c helpers.

BUG=b:220950271
TEST=```sudo ./flashrom -p internal -r /tmp/bios
<snip>
Found Programmer flash chip "Opaque flash chip" (16384 kB, Programmer-specific) mapped at physical address 0x0000000000000000.
Reading flash... done.
```

Change-Id: I026bfbecba114411728d4ad1ed8969b469fa7d2d
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/59279
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Thomas Heijligen <src@posteo.de>
Reviewed-by: Nikolai Artemiev <nartemiev@google.com>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
This commit is contained in:
Edward O'Callaghan
2021-11-13 17:56:20 +11:00
committed by Edward O'Callaghan
parent d69c30766e
commit 855b898331
4 changed files with 27 additions and 28 deletions

View File

@ -157,6 +157,25 @@ struct pci_dev *pcidev_scandev(struct pci_filter *filter, struct pci_dev *start)
return NULL;
}
struct pci_dev *pcidev_card_find(uint16_t vendor, uint16_t device,
uint16_t card_vendor, uint16_t card_device)
{
struct pci_dev *temp = NULL;
struct pci_filter filter;
pci_filter_init(NULL, &filter);
filter.vendor = vendor;
filter.device = device;
while ((temp = pcidev_scandev(&filter, temp))) {
if ((card_vendor == pci_read_word(temp, PCI_SUBSYSTEM_VENDOR_ID))
&& (card_device == pci_read_word(temp, PCI_SUBSYSTEM_ID)))
return temp;
}
return NULL;
}
struct pci_dev *pcidev_getdevfn(struct pci_dev *dev, const int func)
{
#if !defined(OLD_PCI_GET_DEV)