summaryrefslogtreecommitdiffstats
path: root/src/include/device/pci.h
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-02-08 18:14:34 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-02-11 11:34:37 +0000
commit8a41f4b71e883ec66be511cb592ee19dfa6708c5 (patch)
treed0f7d8e47ed1dbe3b27038a0232f89aaff8d261d /src/include/device/pci.h
parent5b14116a04b4b96d25f825bef8f34caf4bd51466 (diff)
downloadcoreboot-8a41f4b71e883ec66be511cb592ee19dfa6708c5.tar.gz
coreboot-8a41f4b71e883ec66be511cb592ee19dfa6708c5.tar.bz2
coreboot-8a41f4b71e883ec66be511cb592ee19dfa6708c5.zip
device/pci_ops: Move questionable pci_locate() variants
These are defined for __SIMPLE_DEVICE__ when PCI enumeration has not happened yet. These should not really try to probe devices other than those on bus 0. It's hard to track but there maybe cases of southbridge being located on bus 2 and available for configuration, so I rather leave the code unchanged. Just move these out of arch/io.h because they cause build failures if one attempts to include <arch/pci_ops.h> before <arch/io.h>. There are two direct copies for ROMCC bootblocks to avoid inlining them elsewhere. Change-Id: Ida2919a5d83fe5ea89284ffbd8ead382e4312524 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/31304 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/include/device/pci.h')
-rw-r--r--src/include/device/pci.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/include/device/pci.h b/src/include/device/pci.h
index f0724e0f99ab..71d6b2025a73 100644
--- a/src/include/device/pci.h
+++ b/src/include/device/pci.h
@@ -133,6 +133,12 @@ static inline const struct pci_operations *ops_pci(struct device *dev)
return pops;
}
+#define PCI_ID(VENDOR_ID, DEVICE_ID) \
+ ((((DEVICE_ID) & 0xFFFF) << 16) | ((VENDOR_ID) & 0xFFFF))
+
+pci_devfn_t pci_locate_device(unsigned int pci_id, pci_devfn_t dev);
+pci_devfn_t pci_locate_device_on_bus(unsigned int pci_id, unsigned int bus);
+
#ifdef __SIMPLE_DEVICE__
unsigned int pci_find_next_capability(pci_devfn_t dev, unsigned int cap,
unsigned int last);