All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yu Zhao <yu.zhao@intel.com>
To: "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>
Cc: "achiang@hp.com" <achiang@hp.com>,
	"bjorn.helgaas@hp.com" <bjorn.helgaas@hp.com>,
	"grundler@parisc-linux.org" <grundler@parisc-linux.org>,
	"greg@kroah.com" <greg@kroah.com>,
	"mingo@elte.hu" <mingo@elte.hu>,
	"jbarnes@virtuousgeek.org" <jbarnes@virtuousgeek.org>,
	"matthew@wil.cx" <matthew@wil.cx>,
	"randy.dunlap@oracle.com" <randy.dunlap@oracle.com>,
	"rdreier@cisco.com" <rdreier@cisco.com>,
	"horms@verge.net.au" <horms@verge.net.au>,
	"yinghai@kernel.org" <yinghai@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"virtualization@lists.linux-foundation.org" 
	<virtualization@lists.linux-foundation.org>
Subject: [PATCH 5/13 v7] PCI: export __pci_read_base()
Date: Sat, 22 Nov 2008 02:40:40 +0800	[thread overview]
Message-ID: <20081121184040.GF7810@yzhao12-linux.sh.intel.com> (raw)
In-Reply-To: <20081121183605.GA7810@yzhao12-linux.sh.intel.com>

Export __pci_read_base() so it can be used by whole PCI subsystem.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>

---
 drivers/pci/pci.h   |    9 +++++++++
 drivers/pci/probe.c |   20 +++++++++-----------
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 1449884..fd0d087 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -159,6 +159,15 @@ struct pci_slot_attribute {
 };
 #define to_pci_slot_attr(s) container_of(s, struct pci_slot_attribute, attr)
 
+enum pci_bar_type {
+	pci_bar_unknown,	/* Standard PCI BAR probe */
+	pci_bar_io,		/* An io port BAR */
+	pci_bar_mem32,		/* A 32-bit memory BAR */
+	pci_bar_mem64,		/* A 64-bit memory BAR */
+};
+
+extern int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
+				struct resource *res, unsigned int reg);
 extern void pci_enable_ari(struct pci_dev *dev);
 /**
  * pci_ari_enabled - query ARI forwarding status
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 4c5429f..ae5c7fe 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -135,13 +135,6 @@ static u64 pci_size(u64 base, u64 maxbase, u64 mask)
 	return size;
 }
 
-enum pci_bar_type {
-	pci_bar_unknown,	/* Standard PCI BAR probe */
-	pci_bar_io,		/* An io port BAR */
-	pci_bar_mem32,		/* A 32-bit memory BAR */
-	pci_bar_mem64,		/* A 64-bit memory BAR */
-};
-
 static inline enum pci_bar_type decode_bar(struct resource *res, u32 bar)
 {
 	if ((bar & PCI_BASE_ADDRESS_SPACE) == PCI_BASE_ADDRESS_SPACE_IO) {
@@ -156,11 +149,16 @@ static inline enum pci_bar_type decode_bar(struct resource *res, u32 bar)
 	return pci_bar_mem32;
 }
 
-/*
- * If the type is not unknown, we assume that the lowest bit is 'enable'.
- * Returns 1 if the BAR was 64-bit and 0 if it was 32-bit.
+/**
+ * pci_read_base - read a PCI BAR
+ * @dev: the PCI device
+ * @type: type of the BAR
+ * @res: resource buffer to be filled in
+ * @pos: BAR position in the config space
+ *
+ * Returns 1 if the BAR is 64-bit, or 0 if 32-bit.
  */
-static int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
+int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
 			struct resource *res, unsigned int pos)
 {
 	u32 l, sz, mask;
-- 
1.5.6.4


  parent reply	other threads:[~2008-11-21 19:37 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-21 18:36 [PATCH 0/13 v7] PCI: Linux kernel SR-IOV support Yu Zhao
2008-11-21 18:38 ` [PATCH 1/13 v7] PCI: enhance pci_ari_enabled() Yu Zhao
2008-11-21 18:38 ` Yu Zhao
2008-11-21 18:38 ` [PATCH 2/13 v7] PCI: remove unnecessary arg of pci_update_resource() Yu Zhao
2008-11-21 18:38 ` Yu Zhao
2008-11-21 18:39 ` [PATCH 3/13 v7] PCI: define PCI resource names in an 'enum' Yu Zhao
2008-11-21 18:39 ` Yu Zhao
2008-11-21 18:40 ` [PATCH 4/13 v7] PCI: remove unnecessary condition check in pci_restore_bars() Yu Zhao
2008-11-21 18:40 ` Yu Zhao
2008-11-21 18:40 ` [PATCH 5/13 v7] PCI: export __pci_read_base() Yu Zhao
2008-11-21 18:40 ` Yu Zhao [this message]
2008-11-21 18:41 ` [PATCH 6/13 v7] PCI: make pci_alloc_child_bus() be able to handle NULL bridge Yu Zhao
2008-11-21 18:41 ` Yu Zhao
2008-11-21 18:41 ` [PATCH 7/13 v7] PCI: add a new function to map BAR offset Yu Zhao
2008-11-21 18:41 ` Yu Zhao
2008-11-21 18:41 ` [PATCH 8/13 v7] PCI: cleanup pci_bus_add_devices() Yu Zhao
2008-11-21 18:41 ` Yu Zhao
2008-11-21 18:42 ` [PATCH 9/13 v7] PCI: split a new function from pci_bus_add_devices() Yu Zhao
2008-11-21 18:42 ` Yu Zhao
2008-11-21 18:42 ` [PATCH 10/13 v7] PCI: support the SR-IOV capability Yu Zhao
2008-11-21 18:42 ` Yu Zhao
2008-11-21 18:43 ` [PATCH 11/13 v7] PCI: reserve bus range for SR-IOV device Yu Zhao
2008-11-21 18:43 ` Yu Zhao
2008-11-21 18:43 ` [PATCH 12/13 v7] PCI: document the SR-IOV sysfs entries Yu Zhao
2008-11-21 18:43 ` Yu Zhao
2008-11-21 18:44 ` [PATCH 13/13 v7] PCI: document for SR-IOV user and developer Yu Zhao
2008-11-21 18:44 ` Yu Zhao
2008-11-21 20:57 ` [PATCH 0/13 v7] PCI: Linux kernel SR-IOV support Greg KH
2008-11-21 20:57 ` Greg KH
2008-11-22  7:03   ` Zhao, Yu
2008-11-22  7:03   ` Zhao, Yu
2008-11-26 14:03 ` [SR-IOV driver example 0/3] introduction Yu Zhao
2008-11-26 14:11   ` [SR-IOV driver example 1/3] PF driver: allocate hardware specific resource Yu Zhao
2008-11-26 14:11     ` Yu Zhao
2008-11-26 14:11   ` Yu Zhao
2008-11-26 14:21   ` [SR-IOV driver example 2/3] PF driver: integrate with SR-IOV core Yu Zhao
2008-11-26 16:58     ` Greg KH
2008-11-26 17:54       ` Chris Wright
2008-11-26 17:54       ` Chris Wright
2008-12-01 16:46         ` Yu Zhao
2008-12-01 16:46         ` Yu Zhao
2008-11-26 19:27       ` Nakajima, Jun
2008-11-26 19:55         ` Greg KH
2008-11-26 19:55         ` Greg KH
2008-11-26 19:27       ` Nakajima, Jun
2008-12-01 16:44       ` Yu Zhao
2008-12-01 16:44       ` Yu Zhao
2008-11-26 16:58     ` Greg KH
2008-11-26 14:21   ` Yu Zhao
2008-11-26 14:40   ` [SR-IOV driver example 3/3] VF driver tar ball Yu Zhao
2008-11-26 14:40     ` Yu Zhao
2008-11-26 17:00     ` Greg KH
2008-11-26 17:00     ` Greg KH
2008-11-26 14:40   ` Yu Zhao
2008-11-26 16:59   ` [SR-IOV driver example 0/3] introduction Greg KH
2008-11-26 16:59   ` Greg KH
2008-12-01 16:54     ` Yu Zhao
2008-12-01 16:54     ` Yu Zhao
2008-11-26 20:14   ` Jeff Garzik
2008-12-01 16:39     ` Yu Zhao
2008-12-01 16:39     ` Yu Zhao
2008-11-26 20:14   ` Jeff Garzik
2008-11-26 14:03 ` Yu Zhao
2008-12-02  9:27 ` [SR-IOV driver example 0/3 resend] introduction Yu Zhao
2008-12-02  9:27 ` Yu Zhao
2008-12-02  9:40   ` [SR-IOV driver example 1/3 resend] PF driver: hardware specific operations Yu Zhao
2008-12-02  9:40   ` Yu Zhao
2008-12-02  9:42   ` [SR-IOV driver example 2/3 resend] PF driver: integrate with SR-IOV core Yu Zhao
2008-12-02  9:42   ` Yu Zhao
2008-12-02  9:42     ` Yu Zhao
2008-12-02  9:57   ` [SR-IOV driver example 3/3 resend] VF driver: an independent PCI NIC driver Yu Zhao
2008-12-03  3:12   ` [SR-IOV driver example 0/3 resend] introduction Jeff Kirsher
2008-12-03  3:12   ` Jeff Kirsher
2008-12-16 23:23 ` [PATCH 0/13 v7] PCI: Linux kernel SR-IOV support Jesse Barnes
2008-12-16 23:23 ` Jesse Barnes
2008-12-17  2:37   ` Jike Song
2008-12-17  2:37   ` Jike Song
2008-12-17  6:06     ` Greg KH
2008-12-17  7:07       ` Zhao, Yu
2008-12-17  7:21         ` Greg KH
2008-12-17  7:21         ` Greg KH
2008-12-17  7:07       ` Zhao, Yu
2008-12-17 16:44       ` Rose, Gregory V
2008-12-17 16:44       ` Rose, Gregory V
2008-12-17 17:51         ` Greg KH
2008-12-17 17:51         ` Greg KH
2008-12-17 18:51         ` Jesse Barnes
2008-12-17 19:05           ` Rose, Gregory V
2008-12-17 19:05           ` Rose, Gregory V
2008-12-17 19:34             ` Jeremy Fitzhardinge
2008-12-17 19:34               ` Jeremy Fitzhardinge
2008-12-17 19:42               ` Rose, Gregory V
2008-12-17 19:42               ` Rose, Gregory V
2008-12-17 19:42             ` Jesse Barnes
2008-12-17 19:51               ` Greg KH
2008-12-17 20:07                 ` Jesse Barnes
2008-12-18  2:39                   ` Zhao, Yu
2008-12-18  2:39                   ` Zhao, Yu
2008-12-17 20:07                 ` Jesse Barnes
2008-12-17 19:51               ` Greg KH
2008-12-18 22:42               ` Rose, Gregory V
2008-12-18 22:42               ` Rose, Gregory V
2008-12-17 19:42             ` Jesse Barnes
2008-12-17 18:51         ` Jesse Barnes
2008-12-17  6:06     ` Greg KH
2008-12-17 11:42   ` Fischer, Anna
2008-12-17 11:42   ` Fischer, Anna
2008-12-17 18:59     ` Jesse Barnes
2008-12-17 18:59     ` Jesse Barnes
2008-12-18  2:13     ` Zhao, Yu
2008-12-18  6:37       ` Fischer, Anna
2008-12-18  6:37       ` Fischer, Anna
2008-12-18  2:13     ` Zhao, Yu
2008-12-17 14:15   ` Matthew Wilcox
2008-12-17 17:27     ` Jesse Barnes
2008-12-17 17:27     ` Jesse Barnes
2008-12-18  2:26     ` Zhao, Yu
2008-12-18  2:26     ` Zhao, Yu
2008-12-17 14:15   ` Matthew Wilcox

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081121184040.GF7810@yzhao12-linux.sh.intel.com \
    --to=yu.zhao@intel.com \
    --cc=achiang@hp.com \
    --cc=bjorn.helgaas@hp.com \
    --cc=greg@kroah.com \
    --cc=grundler@parisc-linux.org \
    --cc=horms@verge.net.au \
    --cc=jbarnes@virtuousgeek.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=mingo@elte.hu \
    --cc=randy.dunlap@oracle.com \
    --cc=rdreier@cisco.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.