pcidev: Move pci_dev_find() from internal to canonical place
Also rename to `pcidev_find()` in fitting with pcidev.c helpers.
Tested: ```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: Ie21f87699481a84398ca4450b3f03548f0528191
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/59280
Original-Reviewed-by: Thomas Heijligen <src@posteo.de>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72310
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/board_enable.c b/board_enable.c
index 4cad857..305a8df 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -894,7 +894,7 @@
uint16_t smbba;
uint8_t b;
- dev = pci_dev_find(0x8086, 0x7113); /* Intel PIIX4, PM/SMBus function. */
+ dev = pcidev_find(0x8086, 0x7113); /* Intel PIIX4, PM/SMBus function. */
if (!dev) {
msg_perr("\nERROR: Intel PIIX4 PM not found.\n");
return -1;
@@ -1046,7 +1046,7 @@
struct pci_dev *dev;
uint32_t tmp;
- dev = pci_dev_find(0x10DE, 0x03EB); /* NVIDIA MCP61 SMBus. */
+ dev = pcidev_find(0x10DE, 0x03EB); /* NVIDIA MCP61 SMBus. */
if (!dev) {
msg_perr("\nERROR: NVIDIA MCP61 SMBus not found.\n");
return -1;
@@ -1282,7 +1282,7 @@
if (ret)
return ret;
- dev = pci_dev_find(0x10de, 0x0364); /* NVIDIA MCP55 LPC bridge */
+ dev = pcidev_find(0x10de, 0x0364); /* NVIDIA MCP55 LPC bridge */
if (!dev) {
msg_perr("\nERROR: NVIDIA MCP55 LPC bridge not found.\n");
return -1;
@@ -1352,7 +1352,7 @@
struct pci_dev *dev;
uint32_t reg;
- dev = pci_dev_find(0x1002, 0x4372); /* AMD SMBus controller */
+ dev = pcidev_find(0x1002, 0x4372); /* AMD SMBus controller */
if (!dev) {
msg_perr("\nERROR: AMD SMBus Controller (0x4372) not found.\n");
return -1;
@@ -1416,7 +1416,7 @@
{0}
};
- dev = pci_dev_find(0x8086, 0x7110); /* Intel PIIX4 ISA bridge */
+ dev = pcidev_find(0x8086, 0x7110); /* Intel PIIX4 ISA bridge */
if (!dev) {
msg_perr("\nERROR: Intel PIIX4 ISA bridge not found.\n");
return -1;
@@ -1435,7 +1435,7 @@
return -1;
}
- dev = pci_dev_find(0x8086, 0x7113); /* Intel PIIX4 PM */
+ dev = pcidev_find(0x8086, 0x7113); /* Intel PIIX4 PM */
if (!dev) {
msg_perr("\nERROR: Intel PIIX4 PM not found.\n");
return -1;
@@ -1952,7 +1952,7 @@
uint32_t base, tmp;
/* VT82C686 power management */
- dev = pci_dev_find(0x1106, 0x3057);
+ dev = pcidev_find(0x1106, 0x3057);
if (!dev) {
msg_perr("\nERROR: VT82C686 PM device not found.\n");
return -1;
@@ -2025,7 +2025,7 @@
struct pci_dev *dev;
uint16_t base, temp;
- dev = pci_dev_find(0x1039, 0x0962);
+ dev = pcidev_find(0x1039, 0x0962);
if (!dev) {
msg_perr("Expected south bridge not found\n");
return 1;
@@ -2089,7 +2089,7 @@
uint16_t rt_port;
uint8_t val;
- dev = pci_dev_find(0x8086, 0x2410); /* Intel 82801AA ISA bridge */
+ dev = pcidev_find(0x8086, 0x2410); /* Intel 82801AA ISA bridge */
if (!dev) {
msg_perr("\nERROR: Intel 82801AA ISA bridge not found.\n");
return -1;
@@ -2616,13 +2616,13 @@
if (!cur_model || strcasecmp(cur_model, model))
continue;
- if (!pci_dev_find(board->first_vendor, board->first_device)) {
+ if (!pcidev_find(board->first_vendor, board->first_device)) {
msg_pdbg("Odd. Board name \"%s\":\"%s\" matches, but first PCI device %04x:%04x "
"doesn't.\n", vendor, model, board->first_vendor, board->first_device);
continue;
}
- if (!pci_dev_find(board->second_vendor, board->second_device)) {
+ if (!pcidev_find(board->second_vendor, board->second_device)) {
msg_pdbg("Odd. Board name \"%s\":\"%s\" matches, but second PCI device %04x:%04x "
"doesn't.\n", vendor, model, board->second_vendor, board->second_device);
continue;
@@ -2671,7 +2671,7 @@
board->second_card_device))
continue;
} else {
- if (!pci_dev_find(board->second_vendor,
+ if (!pcidev_find(board->second_vendor,
board->second_device))
continue;
}
diff --git a/chipset_enable.c b/chipset_enable.c
index c9b668c..ec2009f 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -1102,7 +1102,7 @@
static int enable_flash_vt_vx(struct pci_dev *dev, const char *name)
{
- struct pci_dev *south_north = pci_dev_find(0x1106, 0xa353);
+ struct pci_dev *south_north = pcidev_find(0x1106, 0xa353);
if (south_north == NULL) {
msg_perr("Could not find South-North Module Interface Control device!\n");
return ERROR_FATAL;
@@ -1542,7 +1542,7 @@
struct pci_dev *smbusdev;
/* Look for the SMBus device. */
- smbusdev = pci_dev_find(0x1002, 0x4372);
+ smbusdev = pcidev_find(0x1002, 0x4372);
if (!smbusdev) {
msg_perr("ERROR: SMBus device not found. Aborting.\n");
@@ -2150,7 +2150,7 @@
/* Now let's try to find the chipset we have... */
for (i = 0; chipset_enables[i].vendor_name != NULL; i++) {
- dev = pci_dev_find(chipset_enables[i].vendor_id,
+ dev = pcidev_find(chipset_enables[i].vendor_id,
chipset_enables[i].device_id);
if (!dev)
continue;
diff --git a/internal.c b/internal.c
index f412dd6..59719d2 100644
--- a/internal.c
+++ b/internal.c
@@ -26,17 +26,6 @@
#include "hwaccess_x86_io.h"
#endif
-struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device)
-{
- struct pci_filter filter;
-
- pci_filter_init(NULL, &filter);
- filter.vendor = vendor;
- filter.device = device;
-
- return pcidev_scandev(&filter, NULL);
-}
-
int force_boardenable = 0;
int force_boardmismatch = 0;
diff --git a/pcidev.c b/pcidev.c
index 02b39b3..4425c80 100644
--- a/pcidev.c
+++ b/pcidev.c
@@ -179,6 +179,17 @@
return NULL;
}
+struct pci_dev *pcidev_find(uint16_t vendor, uint16_t device)
+{
+ struct pci_filter filter;
+
+ pci_filter_init(NULL, &filter);
+ filter.vendor = vendor;
+ filter.device = device;
+
+ return pcidev_scandev(&filter, NULL);
+}
+
struct pci_dev *pcidev_find_vendorclass(uint16_t vendor, uint16_t devclass)
{
struct pci_dev *temp = NULL;
diff --git a/programmer.h b/programmer.h
index 43d967c..9351d85 100644
--- a/programmer.h
+++ b/programmer.h
@@ -125,6 +125,7 @@
struct pci_dev *pcidev_scandev(struct pci_filter *filter, struct pci_dev *start);
struct pci_dev *pcidev_find_vendorclass(uint16_t vendor, uint16_t devclass);
struct pci_dev *pcidev_card_find(uint16_t vendor, uint16_t device, uint16_t card_vendor, uint16_t card_device);
+struct pci_dev *pcidev_find(uint16_t vendor, uint16_t device);
/* rpci_write_* are reversible writes. The original PCI config space register
* contents will be restored on shutdown.
* To clone the pci_dev instances internally, the `pacc` global
@@ -257,9 +258,7 @@
#define SUPERIO_VENDOR_ITE 0x1
#define SUPERIO_VENDOR_WINBOND 0x2
#endif
-#if NEED_PCI == 1
-struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device);
-#endif
+
#if CONFIG_INTERNAL == 1
extern int is_laptop;
extern bool laptop_ok;
diff --git a/sb600spi.c b/sb600spi.c
index 705a72b..4e954a9 100644
--- a/sb600spi.c
+++ b/sb600spi.c
@@ -83,7 +83,7 @@
static int find_smbus_dev_rev(uint16_t vendor, uint16_t device)
{
- struct pci_dev *smbus_dev = pci_dev_find(vendor, device);
+ struct pci_dev *smbus_dev = pcidev_find(vendor, device);
if (!smbus_dev) {
msg_pdbg("No SMBus device with ID %04X:%04X found.\n", vendor, device);
msg_perr("ERROR: SMBus device not found. Not enabling SPI.\n");
@@ -653,11 +653,11 @@
}
/* Look for the SMBus device. */
- smbus_dev = pci_dev_find(0x1002, 0x4385);
+ smbus_dev = pcidev_find(0x1002, 0x4385);
if (!smbus_dev)
- smbus_dev = pci_dev_find(0x1022, 0x780b); /* AMD FCH */
+ smbus_dev = pcidev_find(0x1022, 0x780b); /* AMD FCH */
if (!smbus_dev)
- smbus_dev = pci_dev_find(0x1022, 0x790b); /* AMD FP4 */
+ smbus_dev = pcidev_find(0x1022, 0x790b); /* AMD FP4 */
if (!smbus_dev) {
msg_perr("ERROR: SMBus device not found. Not enabling SPI.\n");
return ERROR_NONFATAL;