aboutsummaryrefslogtreecommitdiff
path: root/src/device/pci_device.c
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2013-06-15 17:16:56 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2013-08-24 07:38:23 +0200
commitc73acdb69eb8128bbbb3bed63cb0ca1b943027ee (patch)
tree37506b393476491ed47ad48f1f63664be3518219 /src/device/pci_device.c
parent842f0bab0416d223ecda97817fb5326c666b0499 (diff)
Add test to match struct device with pci_devfn_t
Add a function to test if pci_devfn_t matches with a device instance of struct device, by comparing bus:dev.fn. Change-Id: Ic6c3148ac62c7183246d83302ee504b17064c794 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/3474 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@google.com>
Diffstat (limited to 'src/device/pci_device.c')
-rw-r--r--src/device/pci_device.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/device/pci_device.c b/src/device/pci_device.c
index 4c5a81451c..1d998ca780 100644
--- a/src/device/pci_device.c
+++ b/src/device/pci_device.c
@@ -1054,6 +1054,19 @@ device_t pci_probe_dev(device_t dev, struct bus *bus, unsigned devfn)
}
/**
+ * Test for match between romstage and ramstage device instance.
+ *
+ * @param dev Pointer to the device structure.
+ * @param sdev Simple device model identifier, created with PCI_DEV().
+ * @return Non-zero if bus:dev.fn of device matches.
+ */
+unsigned int pci_match_simple_dev(device_t dev, pci_devfn_t sdev)
+{
+ return dev->bus->secondary == PCI_DEV2SEGBUS(sdev) &&
+ dev->path.pci.devfn == PCI_DEV2DEVFN(sdev);
+}
+
+/**
* Scan a PCI bus.
*
* Determine the existence of devices and bridges on a PCI bus. If there are