summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdward O'Callaghan <quasisec@google.com>2021-11-13 17:59:18 +1100
committerEdward O'Callaghan <quasisec@chromium.org>2022-03-22 05:53:36 +0000
commit1b1066e2d5db21167394e0d40dfe5a0d370c8852 (patch)
tree1b1e56e349609a5faaaa53cdb34a85a404eff89b
parent855b8983319f24835e72669469669f270fffa1db (diff)
downloadflashrom-1b1066e2d5db21167394e0d40dfe5a0d370c8852.tar.gz
flashrom-1b1066e2d5db21167394e0d40dfe5a0d370c8852.tar.bz2
flashrom-1b1066e2d5db21167394e0d40dfe5a0d370c8852.zip
pcidev: Move pci_dev_find() from internal to canonical place
Also rename to `pcidev_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: Ie21f87699481a84398ca4450b3f03548f0528191 Signed-off-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/59280 Reviewed-by: Thomas Heijligen <src@posteo.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--board_enable.c24
-rw-r--r--chipset_enable.c6
-rw-r--r--internal.c11
-rw-r--r--pcidev.c11
-rw-r--r--programmer.h5
-rw-r--r--sb600spi.c8
6 files changed, 32 insertions, 33 deletions
diff --git a/board_enable.c b/board_enable.c
index 22db4928f..300fecb24 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -893,7 +893,7 @@ static int board_asus_p3b_f(void)
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;
@@ -1045,7 +1045,7 @@ static int board_ecs_geforce6100sm_m(void)
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;
@@ -1273,7 +1273,7 @@ static int board_sun_ultra_40_m2(void)
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;
@@ -1343,7 +1343,7 @@ static int amd_sbxxx_gpio9_raise(void)
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;
@@ -1407,7 +1407,7 @@ static int intel_piix4_gpo_set(unsigned int gpo, int raise)
{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;
@@ -1426,7 +1426,7 @@ static int intel_piix4_gpo_set(unsigned int gpo, int raise)
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;
@@ -1941,7 +1941,7 @@ static int via_apollo_gpo_set(int gpio, int raise)
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;
@@ -2014,7 +2014,7 @@ static int sis_gpio0_raise_and_w836xx_memw(void)
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;
@@ -2078,7 +2078,7 @@ static int board_mitac_6513wu(void)
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;
@@ -2603,13 +2603,13 @@ static const struct board_match *board_match_name(const char *vendor, const char
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;
@@ -2658,7 +2658,7 @@ static const struct board_match *board_match_pci_ids(enum board_match_phase phas
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 ac9377be6..1cb170088 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -1117,7 +1117,7 @@ static int enable_flash_vt823x(struct pci_dev *dev, const char *name)
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;
@@ -1557,7 +1557,7 @@ static int enable_flash_sb400(struct pci_dev *dev, const char *name)
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");
@@ -2163,7 +2163,7 @@ int chipset_flash_enable(void)
/* 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 cf9faf66f..4049ef152 100644
--- a/internal.c
+++ b/internal.c
@@ -34,17 +34,6 @@ int force_boardmismatch = 0;
enum chipbustype internal_buses_supported = BUS_NONE;
-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);
-}
-
#if defined(__i386__) || defined(__x86_64__)
void probe_superio(void)
{
diff --git a/pcidev.c b/pcidev.c
index 0049f0ca5..7fb6f1d36 100644
--- a/pcidev.c
+++ b/pcidev.c
@@ -176,6 +176,17 @@ struct pci_dev *pcidev_card_find(uint16_t vendor, uint16_t device,
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_getdevfn(struct pci_dev *dev, const int func)
{
#if !defined(OLD_PCI_GET_DEV)
diff --git a/programmer.h b/programmer.h
index 50753cf44..c79422c54 100644
--- a/programmer.h
+++ b/programmer.h
@@ -129,6 +129,7 @@ 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);
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
@@ -261,9 +262,7 @@ extern int superio_count;
#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 int laptop_ok;
diff --git a/sb600spi.c b/sb600spi.c
index eb5402856..6f8cc40a2 100644
--- a/sb600spi.c
+++ b/sb600spi.c
@@ -60,7 +60,7 @@ struct sb600spi_data {
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");
@@ -734,11 +734,11 @@ int sb600_probe_spi(struct pci_dev *dev)
}
/* 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;