From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from acsinet15.oracle.com ([141.146.126.227]:25406 "EHLO acsinet15.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161768Ab2CSFte (ORCPT ); Mon, 19 Mar 2012 01:49:34 -0400 From: Yinghai Lu To: Jesse Barnes , x86 Cc: Bjorn Helgaas , Andrew Morton , Linus Torvalds , Greg Kroah-Hartman , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Yinghai Lu Subject: [PATCH -v2 03/26] PCI: Add pci_dev_resource_idx() Date: Sun, 18 Mar 2012 22:48:26 -0700 Message-Id: <1332136129-14010-4-git-send-email-yinghai@kernel.org> In-Reply-To: <1332136129-14010-1-git-send-email-yinghai@kernel.org> References: <1332136129-14010-1-git-send-email-yinghai@kernel.org> Sender: linux-pci-owner@vger.kernel.org List-ID: Signed-off-by: Yinghai Lu --- drivers/pci/probe.c | 12 ++++++++++++ include/linux/pci.h | 1 + 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 87e87b5..7d5550a 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -85,6 +85,18 @@ struct resource *pci_dev_resource_n(struct pci_dev *dev, int n) return NULL; } +int pci_dev_resource_idx(struct pci_dev *dev, struct resource *res) +{ + int i; + struct resource *r; + + for_each_pci_dev_all_resource(dev, r, i) + if (r == res) + return i; + + return -1; +} + 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 2b1fff8..e3f9ae1 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -348,6 +348,7 @@ struct pci_dev { }; struct resource *pci_dev_resource_n(struct pci_dev *dev, int n); +int pci_dev_resource_idx(struct pci_dev *dev, struct resource *res); #define resno_is_for_bridge(n) \ ((n) >= PCI_BRIDGE_RESOURCES && (n) <= PCI_BRIDGE_RESOURCE_END) -- 1.7.7