[PATCH 7/9] linux: Use pci_device_get_parent_bridge instead of open-coding it
Tiago Vignatti
tiago.vignatti at nokia.com
Wed Sep 22 05:54:12 PDT 2010
On Wed, Sep 22, 2010 at 01:28:37AM +0200, ext Adam Jackson wrote:
> 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;
> --
Reviewed-by: Tiago Vignatti <tiago.vignatti at nokia.com>
Tiago
More information about the xorg-devel
mailing list