aboutsummaryrefslogtreecommitdiffstats
path: root/pcidev.c
diff options
context:
space:
mode:
Diffstat (limited to 'pcidev.c')
-rw-r--r--pcidev.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/pcidev.c b/pcidev.c
index f3238518..0f8c4e5d 100644
--- a/pcidev.c
+++ b/pcidev.c
@@ -157,6 +157,19 @@ struct pci_dev *pcidev_scandev(struct pci_filter *filter, struct pci_dev *start)
return NULL;
}
+struct pci_dev *pcidev_getdevfn(struct pci_dev *dev, const int func)
+{
+#if !defined(OLD_PCI_GET_DEV)
+ return pci_get_dev(pacc, dev->domain, dev->bus, dev->dev, func);
+#else
+ /* pciutils/libpci before version 2.2 is too old to support
+ * PCI domains. Such old machines usually don't have domains
+ * besides domain 0, so this is not a problem.
+ */
+ return pci_get_dev(pacc, dev->bus, dev->dev, func);
+#endif
+}
+
static int pcidev_shutdown(void *data)
{
if (pacc == NULL) {