[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