[PATCH 7/9] linux: Use pci_device_get_parent_bridge instead of open-coding it
Adam Jackson
ajax at redhat.com
Tue Sep 21 16:28:37 PDT 2010
Signed-off-by: Adam Jackson <ajax at redhat.com>
---
hw/xfree86/os-support/bus/linuxPci.c | 41 +---------------------------------
1 files changed, 1 insertions(+), 40 deletions(-)
diff --git a/hw/xfree86/os-support/bus/linuxPci.c b/hw/xfree86/os-support/bus/linuxPci.c
index 3fbe52d..003f104 100644
--- a/hw/xfree86/os-support/bus/linuxPci.c
+++ b/hw/xfree86/os-support/bus/linuxPci.c
@@ -164,45 +164,6 @@ linuxPciOpenFile(struct pci_device *dev, Bool write)
#endif
-/* This probably shouldn't be Linux-specific */
-static struct pci_device *
-get_parent_bridge(struct pci_device *dev)
-{
- struct pci_id_match bridge_match = {
- PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
- (PCI_CLASS_BRIDGE << 16) | (PCI_SUBCLASS_BRIDGE_PCI << 8),
- 0
- };
- struct pci_device *bridge;
- struct pci_device_iterator *iter;
-
- if (dev == NULL) {
- return NULL;
- }
-
- iter = pci_id_match_iterator_create(& bridge_match);
- if (iter == NULL) {
- return NULL;
- }
-
- while ((bridge = pci_device_next(iter)) != NULL) {
- if (bridge->domain == dev->domain) {
- const struct pci_bridge_info *info =
- pci_device_get_bridge_info(bridge);
-
- if (info != NULL) {
- if (info->secondary_bus == dev->bus) {
- break;
- }
- }
- }
- }
-
- pci_iterator_destroy(iter);
-
- return bridge;
-}
-
static pointer
linuxMapPci(int ScreenNum, int Flags, struct pci_device *dev,
ADDRESS Base, unsigned long Size, int mmap_ioctl)
@@ -287,7 +248,7 @@ linuxOpenLegacy(struct pci_device *dev, char *name)
return fd;
}
- dev = get_parent_bridge(dev);
+ dev = pci_device_get_parent_bridge(dev);
}
return fd;
--
1.7.2.2
More information about the xorg-devel
mailing list