diff options
author | Yinghai Lu <yinghai@kernel.org> | 2012-09-17 22:20:28 -0700 |
---|---|---|
committer | Yinghai Lu <yinghai@kernel.org> | 2012-09-17 22:20:28 -0700 |
commit | f37c815cde436d481c899535eb214eb75da52d61 (patch) | |
tree | f7ea3370657d96b9c25b70f85ef51a3bce41b4a9 | |
parent | 48da02aeda8afe1b1128d152dcbef273b83e4afa (diff) | |
download | linux-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.c | 9 | ||||
-rw-r--r-- | include/linux/pci.h | 2 |
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 |