drm: remove local copies of pci bus/slot/func
authorDave <airlied@linux.ie>
Mon, 17 Jul 2006 18:01:01 +0000 (04:01 +1000)
committerDave Airlie <airlied@linux.ie>
Thu, 21 Sep 2006 19:32:30 +0000 (05:32 +1000)
The drm keeps a local copy of these for little use.

Signed-off-by: Dave Airlie <airlied@linux.ie>
drivers/char/drm/drmP.h
drivers/char/drm/drm_ioctl.c
drivers/char/drm/drm_irq.c
drivers/char/drm/drm_stub.c

index cccfdb720e968429115c214e154cadb3210f306b..9838e8ce6ff265111ce541e981e4a295c7014717 100644 (file)
@@ -700,9 +700,6 @@ typedef struct drm_device {
 
        struct pci_dev *pdev;           /**< PCI device structure */
        int pci_domain;                 /**< PCI bus domain number */
-       int pci_bus;                    /**< PCI bus number */
-       int pci_slot;                   /**< PCI slot number */
-       int pci_func;                   /**< PCI function number */
 #ifdef __alpha__
        struct pci_controller *hose;
 #endif
index 31dfe83141ea2c16b3b4e2a71e043d5fccf92c8c..9f20c2b5a3661b7bdea0cb4fd4b546dd0e1c174d 100644 (file)
@@ -128,8 +128,9 @@ int drm_setunique(struct inode *inode, struct file *filp,
        bus &= 0xff;
 
        if ((domain != dev->pci_domain) ||
-           (bus != dev->pci_bus) ||
-           (slot != dev->pci_slot) || (func != dev->pci_func))
+           (bus != dev->pdev->bus->number) ||
+           (slot != PCI_SLOT(dev->pdev->devfn)) ||
+           (func != PCI_FUNC(dev->pdev->devfn)))
                return -EINVAL;
 
        return 0;
@@ -148,7 +149,9 @@ static int drm_set_busid(drm_device_t * dev)
                return ENOMEM;
 
        len = snprintf(dev->unique, dev->unique_len, "pci:%04x:%02x:%02x.%d",
-                dev->pci_domain, dev->pci_bus, dev->pci_slot, dev->pci_func);
+                      dev->pci_domain, dev->pdev->bus->number,
+                      PCI_SLOT(dev->pdev->devfn),
+                      PCI_FUNC(dev->pdev->devfn));
 
        if (len > dev->unique_len)
                DRM_ERROR("Unique buffer overflowed\n");
index 8e484d23e12b2a16ece8727521912cf9f830de3e..41c7020c93ef84f3fb8116b8c3c6d982d03396c5 100644 (file)
@@ -65,8 +65,8 @@ int drm_irq_by_busid(struct inode *inode, struct file *filp,
                return -EFAULT;
 
        if ((p.busnum >> 8) != dev->pci_domain ||
-           (p.busnum & 0xff) != dev->pci_bus ||
-           p.devnum != dev->pci_slot || p.funcnum != dev->pci_func)
+           (p.busnum & 0xff) != dev->pdev->bus->number ||
+           p.devnum != PCI_SLOT(dev->pdev->devfn) || p.funcnum != PCI_FUNC(dev->pdev->devfn))
                return -EINVAL;
 
        p.irq = dev->irq;
index 9a842a36bb2754cfef213344754e0ff951e4c44c..96449d538e15b00313309daf342c2541056d0982 100644 (file)
@@ -72,9 +72,6 @@ static int drm_fill_in_dev(drm_device_t * dev, struct pci_dev *pdev,
 #else
        dev->pci_domain = 0;
 #endif
-       dev->pci_bus = pdev->bus->number;
-       dev->pci_slot = PCI_SLOT(pdev->devfn);
-       dev->pci_func = PCI_FUNC(pdev->devfn);
        dev->irq = pdev->irq;
 
        dev->maplist = drm_calloc(1, sizeof(*dev->maplist), DRM_MEM_MAPS);