Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

PCI: Add pci_dev_id() helper

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>

authored by

Heiner Kallweit and committed by
Bjorn Helgaas
4e544bac e0547c81

+11 -10
+3 -3
drivers/pci/msi.c
··· 1338 1338 struct msi_desc *desc) 1339 1339 { 1340 1340 return (irq_hw_number_t)desc->msi_attrib.entry_nr | 1341 - PCI_DEVID(dev->bus->number, dev->devfn) << 11 | 1341 + pci_dev_id(dev) << 11 | 1342 1342 (pci_domain_nr(dev->bus) & 0xFFFFFFFF) << 27; 1343 1343 } 1344 1344 ··· 1508 1508 u32 pci_msi_domain_get_msi_rid(struct irq_domain *domain, struct pci_dev *pdev) 1509 1509 { 1510 1510 struct device_node *of_node; 1511 - u32 rid = PCI_DEVID(pdev->bus->number, pdev->devfn); 1511 + u32 rid = pci_dev_id(pdev); 1512 1512 1513 1513 pci_for_each_dma_alias(pdev, get_msi_id_cb, &rid); 1514 1514 ··· 1531 1531 struct irq_domain *pci_msi_get_device_domain(struct pci_dev *pdev) 1532 1532 { 1533 1533 struct irq_domain *dom; 1534 - u32 rid = PCI_DEVID(pdev->bus->number, pdev->devfn); 1534 + u32 rid = pci_dev_id(pdev); 1535 1535 1536 1536 pci_for_each_dma_alias(pdev, get_msi_id_cb, &rid); 1537 1537 dom = of_msi_map_get_device_domain(&pdev->dev, rid);
+3 -7
drivers/pci/search.c
··· 33 33 struct pci_bus *bus; 34 34 int ret; 35 35 36 - ret = fn(pdev, PCI_DEVID(pdev->bus->number, pdev->devfn), data); 36 + ret = fn(pdev, pci_dev_id(pdev), data); 37 37 if (ret) 38 38 return ret; 39 39 ··· 88 88 return ret; 89 89 continue; 90 90 case PCI_EXP_TYPE_PCIE_BRIDGE: 91 - ret = fn(tmp, 92 - PCI_DEVID(tmp->bus->number, 93 - tmp->devfn), data); 91 + ret = fn(tmp, pci_dev_id(tmp), data); 94 92 if (ret) 95 93 return ret; 96 94 continue; ··· 99 101 PCI_DEVID(tmp->subordinate->number, 100 102 PCI_DEVFN(0, 0)), data); 101 103 else 102 - ret = fn(tmp, 103 - PCI_DEVID(tmp->bus->number, 104 - tmp->devfn), data); 104 + ret = fn(tmp, pci_dev_id(tmp), data); 105 105 if (ret) 106 106 return ret; 107 107 }
+5
include/linux/pci.h
··· 596 596 597 597 #define to_pci_bus(n) container_of(n, struct pci_bus, dev) 598 598 599 + static inline u16 pci_dev_id(struct pci_dev *dev) 600 + { 601 + return PCI_DEVID(dev->bus->number, dev->devfn); 602 + } 603 + 599 604 /* 600 605 * Returns true if the PCI bus is root (behind host-PCI bridge), 601 606 * false otherwise