summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMyron Stowe <mstowe@redhat.com>2011-11-21 18:54:13 (GMT)
committerJesse Barnes <jbarnes@virtuousgeek.org>2012-02-14 16:44:46 (GMT)
commit925845bd49c6de437dfab3bf8dc654ea3ae21d74 (patch)
tree55d91a9f5335e50571fefa64b10651c38316d314 /include
parent351fc6d1a5175d587d4f2b00ec7bff79b13ec48a (diff)
downloadlinux-925845bd49c6de437dfab3bf8dc654ea3ae21d74.tar.xz
x86/PCI: Infrastructure to maintain a list of FW-assigned BIOS BAR values
Commit 58c84eda075 introduced functionality to try and reinstate the original BIOS BAR addresses of a PCI device when normal resource assignment attempts fail. To keep track of the BIOS BAR addresses, struct pci_dev was augmented with an array to hold the BAR addresses of the PCI device: 'resource_size_t fw_addr[DEVICE_COUNT_RESOURCE]'. The reinstatement of BAR addresses is an uncommon event leaving the 'fw_addr' array unused under normal circumstances. This functionality is also currently architecture specific with an implementation limited to x86. As the use of struct pci_dev is so prevalent, having the 'fw_addr' array residing within such seems somewhat wasteful. This patch introduces a stand alone data structure and interfacing routines for maintaining a list of FW-assigned BIOS BAR value entries. Signed-off-by: Myron Stowe <myron.stowe@redhat.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/pci.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h
index a16b1df..8e9a307 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -891,6 +891,7 @@ ssize_t pci_write_vpd(struct pci_dev *dev, loff_t pos, size_t count, const void
int pci_vpd_truncate(struct pci_dev *dev, size_t size);
/* Helper functions for low-level code (drivers/pci/setup-[bus,res].c) */
+resource_size_t pcibios_retrieve_fw_addr(struct pci_dev *dev, int idx);
void pci_bus_assign_resources(const struct pci_bus *bus);
void pci_bus_size_bridges(struct pci_bus *bus);
int pci_claim_resource(struct pci_dev *, int);