]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
PCI: Add pci_dev_id() helper
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 24 Apr 2019 19:11:58 +0000 (21:11 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 29 Apr 2019 21:12:05 +0000 (16:12 -0500)
In several places in the kernel we find PCI_DEVID used like this:

  PCI_DEVID(dev->bus->number, dev->devfn)

Add a "pci_dev_id(struct pci_dev *dev)" helper to simplify callers.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/msi.c
drivers/pci/search.c
include/linux/pci.h

index 73986825d22116ccd72219f2ebf84a22bad7db96..e039b740fe743d5f25421f9ca4982f725566399d 100644 (file)
@@ -1338,7 +1338,7 @@ irq_hw_number_t pci_msi_domain_calc_hwirq(struct pci_dev *dev,
                                          struct msi_desc *desc)
 {
        return (irq_hw_number_t)desc->msi_attrib.entry_nr |
-               PCI_DEVID(dev->bus->number, dev->devfn) << 11 |
+               pci_dev_id(dev) << 11 |
                (pci_domain_nr(dev->bus) & 0xFFFFFFFF) << 27;
 }
 
@@ -1508,7 +1508,7 @@ static int get_msi_id_cb(struct pci_dev *pdev, u16 alias, void *data)
 u32 pci_msi_domain_get_msi_rid(struct irq_domain *domain, struct pci_dev *pdev)
 {
        struct device_node *of_node;
-       u32 rid = PCI_DEVID(pdev->bus->number, pdev->devfn);
+       u32 rid = pci_dev_id(pdev);
 
        pci_for_each_dma_alias(pdev, get_msi_id_cb, &rid);
 
@@ -1531,7 +1531,7 @@ u32 pci_msi_domain_get_msi_rid(struct irq_domain *domain, struct pci_dev *pdev)
 struct irq_domain *pci_msi_get_device_domain(struct pci_dev *pdev)
 {
        struct irq_domain *dom;
-       u32 rid = PCI_DEVID(pdev->bus->number, pdev->devfn);
+       u32 rid = pci_dev_id(pdev);
 
        pci_for_each_dma_alias(pdev, get_msi_id_cb, &rid);
        dom = of_msi_map_get_device_domain(&pdev->dev, rid);
index 2b5f720862d37e70a2b6f75c8264dd042cb332ee..5c7922612733ec668f7583b33939752cc5cab1e6 100644 (file)
@@ -33,7 +33,7 @@ int pci_for_each_dma_alias(struct pci_dev *pdev,
        struct pci_bus *bus;
        int ret;
 
-       ret = fn(pdev, PCI_DEVID(pdev->bus->number, pdev->devfn), data);
+       ret = fn(pdev, pci_dev_id(pdev), data);
        if (ret)
                return ret;
 
@@ -88,9 +88,7 @@ int pci_for_each_dma_alias(struct pci_dev *pdev,
                                        return ret;
                                continue;
                        case PCI_EXP_TYPE_PCIE_BRIDGE:
-                               ret = fn(tmp,
-                                        PCI_DEVID(tmp->bus->number,
-                                                  tmp->devfn), data);
+                               ret = fn(tmp, pci_dev_id(tmp), data);
                                if (ret)
                                        return ret;
                                continue;
@@ -101,9 +99,7 @@ int pci_for_each_dma_alias(struct pci_dev *pdev,
                                         PCI_DEVID(tmp->subordinate->number,
                                                   PCI_DEVFN(0, 0)), data);
                        else
-                               ret = fn(tmp,
-                                        PCI_DEVID(tmp->bus->number,
-                                                  tmp->devfn), data);
+                               ret = fn(tmp, pci_dev_id(tmp), data);
                        if (ret)
                                return ret;
                }
index 5f32275358cf6ad99af7e76fcfd022009ba5648c..26fa6d143dfe9ddb4c10dc3a4997d870cdcd6337 100644 (file)
@@ -596,6 +596,11 @@ struct pci_bus {
 
 #define to_pci_bus(n)  container_of(n, struct pci_bus, dev)
 
+static inline u16 pci_dev_id(struct pci_dev *dev)
+{
+       return PCI_DEVID(dev->bus->number, dev->devfn);
+}
+
 /*
  * Returns true if the PCI bus is root (behind host-PCI bridge),
  * false otherwise