summaryrefslogtreecommitdiff
path: root/include/linux/pci.h
diff options
context:
space:
mode:
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>2009-11-11 14:29:54 +0900
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-11-24 15:25:11 -0800
commitd7b7e60526d54da4c94afe5f137714cee7d05c41 (patch)
treee8cdf8d2e60c274848e860501234ebb958ab0ae9 /include/linux/pci.h
parent8c8def26bfaa704db67d515da3eb92cf26067548 (diff)
downloadlinux-3.10-d7b7e60526d54da4c94afe5f137714cee7d05c41.tar.gz
linux-3.10-d7b7e60526d54da4c94afe5f137714cee7d05c41.tar.bz2
linux-3.10-d7b7e60526d54da4c94afe5f137714cee7d05c41.zip
PCI: introduce pci_pcie_cap()
Introduce pci_pcie_cap() API that returns saved PCIe capability offset (currently it is saved in 'pcie_cap' field in the struct PCI dev). Using pci_pcie_cap() instead of pci_find_capability() avoids unnecessary search in PCI configuration space. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r--include/linux/pci.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 233b3a09203..15f37f102dd 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1301,5 +1301,21 @@ extern void pci_hp_create_module_link(struct pci_slot *pci_slot);
extern void pci_hp_remove_module_link(struct pci_slot *pci_slot);
#endif
+/**
+ * pci_pcie_cap - get the saved PCIe capability offset
+ * @dev: PCI device
+ *
+ * PCIe capability offset is calculated at PCI device initialization
+ * time and saved in the data structure. This function returns saved
+ * PCIe capability offset. Using this instead of pci_find_capability()
+ * reduces unnecessary search in the PCI configuration space. If you
+ * need to calculate PCIe capability offset from raw device for some
+ * reasons, please use pci_find_capability() instead.
+ */
+static inline int pci_pcie_cap(struct pci_dev *dev)
+{
+ return dev->pcie_cap;
+}
+
#endif /* __KERNEL__ */
#endif /* LINUX_PCI_H */