aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2012-09-17 22:20:28 -0700
committerYinghai Lu <yinghai@kernel.org>2012-09-17 22:20:28 -0700
commitf37c815cde436d481c899535eb214eb75da52d61 (patch)
treef7ea3370657d96b9c25b70f85ef51a3bce41b4a9
parent48da02aeda8afe1b1128d152dcbef273b83e4afa (diff)
downloadlinux-yinghai-f37c815cde436d481c899535eb214eb75da52d61.tar.gz
PCI: Add pci_dev_resource_n()
Prepare to use it with addon_resource and for_each_resource macro. -v2: Add EXPORT_SYMBOL to find building error found by Gary Hade Signed-off-by: Yinghai Lu <yinghai@kernel.org>
-rw-r--r--drivers/pci/probe.c9
-rw-r--r--include/linux/pci.h2
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 3cc58244f953ca..2df843f1309e4d 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -105,6 +105,15 @@ static int __init pcibus_class_init(void)
}
postcore_initcall(pcibus_class_init);
+struct resource *pci_dev_resource_n(struct pci_dev *dev, int n)
+{
+ if (n >= 0 && n < PCI_NUM_RESOURCES)
+ return &dev->resource[n];
+
+ return NULL;
+}
+EXPORT_SYMBOL(pci_dev_resource_n);
+
static u64 pci_size(u64 base, u64 maxbase, u64 mask)
{
u64 size = mask & maxbase; /* Find the significant bits */
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 88ae2373add38e..32da98c32ce6e9 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -357,6 +357,8 @@ struct pci_dev {
#endif
};
+struct resource *pci_dev_resource_n(struct pci_dev *dev, int n);
+
static inline struct pci_dev *pci_physfn(struct pci_dev *dev)
{
#ifdef CONFIG_PCI_IOV