aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pci.h
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2008-05-06 13:55:32 -0400
committerSteve French <sfrench@us.ibm.com>2008-05-06 13:55:32 -0400
commita815752ac0ffdb910e92958d41d28f4fb28e5296 (patch)
treea3aa16a282354da0debe8e3a3a7ed8aac6e54001 /include/linux/pci.h
parent5ade9deaaa3e1f7291467d97b238648e43eae15e (diff)
parenta15306365a16380f3bafee9e181ba01231d4acd7 (diff)
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r--include/linux/pci.h24
1 files changed, 20 insertions, 4 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 292491324b01..509159bcd4e7 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -20,8 +20,6 @@
20/* Include the pci register defines */ 20/* Include the pci register defines */
21#include <linux/pci_regs.h> 21#include <linux/pci_regs.h>
22 22
23struct pci_vpd;
24
25/* 23/*
26 * The PCI interface treats multi-function devices as independent 24 * The PCI interface treats multi-function devices as independent
27 * devices. The slot/function address of each device is encoded 25 * devices. The slot/function address of each device is encoded
@@ -46,6 +44,7 @@ struct pci_vpd;
46#include <linux/mod_devicetable.h> 44#include <linux/mod_devicetable.h>
47 45
48#include <linux/types.h> 46#include <linux/types.h>
47#include <linux/init.h>
49#include <linux/ioport.h> 48#include <linux/ioport.h>
50#include <linux/list.h> 49#include <linux/list.h>
51#include <linux/compiler.h> 50#include <linux/compiler.h>
@@ -131,6 +130,8 @@ struct pci_cap_saved_state {
131}; 130};
132 131
133struct pcie_link_state; 132struct pcie_link_state;
133struct pci_vpd;
134
134/* 135/*
135 * The pci_dev structure is used to describe PCI devices. 136 * The pci_dev structure is used to describe PCI devices.
136 */ 137 */
@@ -254,7 +255,7 @@ static inline void pci_add_saved_cap(struct pci_dev *pci_dev,
254#define PCI_NUM_RESOURCES 11 255#define PCI_NUM_RESOURCES 11
255 256
256#ifndef PCI_BUS_NUM_RESOURCES 257#ifndef PCI_BUS_NUM_RESOURCES
257#define PCI_BUS_NUM_RESOURCES 8 258#define PCI_BUS_NUM_RESOURCES 16
258#endif 259#endif
259 260
260#define PCI_REGION_FLAG_MASK 0x0fU /* These bits of resource flags tell us the PCI region flags */ 261#define PCI_REGION_FLAG_MASK 0x0fU /* These bits of resource flags tell us the PCI region flags */
@@ -474,7 +475,7 @@ extern struct pci_bus *pci_find_bus(int domain, int busnr);
474void pci_bus_add_devices(struct pci_bus *bus); 475void pci_bus_add_devices(struct pci_bus *bus);
475struct pci_bus *pci_scan_bus_parented(struct device *parent, int bus, 476struct pci_bus *pci_scan_bus_parented(struct device *parent, int bus,
476 struct pci_ops *ops, void *sysdata); 477 struct pci_ops *ops, void *sysdata);
477static inline struct pci_bus *pci_scan_bus(int bus, struct pci_ops *ops, 478static inline struct pci_bus * __devinit pci_scan_bus(int bus, struct pci_ops *ops,
478 void *sysdata) 479 void *sysdata)
479{ 480{
480 struct pci_bus *root_bus; 481 struct pci_bus *root_bus;
@@ -666,6 +667,7 @@ int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
666 667
667void pci_walk_bus(struct pci_bus *top, void (*cb)(struct pci_dev *, void *), 668void pci_walk_bus(struct pci_bus *top, void (*cb)(struct pci_dev *, void *),
668 void *userdata); 669 void *userdata);
670int pci_cfg_space_size_ext(struct pci_dev *dev);
669int pci_cfg_space_size(struct pci_dev *dev); 671int pci_cfg_space_size(struct pci_dev *dev);
670unsigned char pci_bus_max_busnr(struct pci_bus *bus); 672unsigned char pci_bus_max_busnr(struct pci_bus *bus);
671 673
@@ -701,6 +703,8 @@ static inline int pci_enable_msi(struct pci_dev *dev)
701 return -1; 703 return -1;
702} 704}
703 705
706static inline void pci_msi_shutdown(struct pci_dev *dev)
707{ }
704static inline void pci_disable_msi(struct pci_dev *dev) 708static inline void pci_disable_msi(struct pci_dev *dev)
705{ } 709{ }
706 710
@@ -710,6 +714,8 @@ static inline int pci_enable_msix(struct pci_dev *dev,
710 return -1; 714 return -1;
711} 715}
712 716
717static inline void pci_msix_shutdown(struct pci_dev *dev)
718{ }
713static inline void pci_disable_msix(struct pci_dev *dev) 719static inline void pci_disable_msix(struct pci_dev *dev)
714{ } 720{ }
715 721
@@ -720,9 +726,11 @@ static inline void pci_restore_msi_state(struct pci_dev *dev)
720{ } 726{ }
721#else 727#else
722extern int pci_enable_msi(struct pci_dev *dev); 728extern int pci_enable_msi(struct pci_dev *dev);
729extern void pci_msi_shutdown(struct pci_dev *dev);
723extern void pci_disable_msi(struct pci_dev *dev); 730extern void pci_disable_msi(struct pci_dev *dev);
724extern int pci_enable_msix(struct pci_dev *dev, 731extern int pci_enable_msix(struct pci_dev *dev,
725 struct msix_entry *entries, int nvec); 732 struct msix_entry *entries, int nvec);
733extern void pci_msix_shutdown(struct pci_dev *dev);
726extern void pci_disable_msix(struct pci_dev *dev); 734extern void pci_disable_msix(struct pci_dev *dev);
727extern void msi_remove_pci_irq_vectors(struct pci_dev *dev); 735extern void msi_remove_pci_irq_vectors(struct pci_dev *dev);
728extern void pci_restore_msi_state(struct pci_dev *dev); 736extern void pci_restore_msi_state(struct pci_dev *dev);
@@ -1053,5 +1061,13 @@ extern unsigned long pci_cardbus_mem_size;
1053 1061
1054extern int pcibios_add_platform_entries(struct pci_dev *dev); 1062extern int pcibios_add_platform_entries(struct pci_dev *dev);
1055 1063
1064#ifdef CONFIG_PCI_MMCONFIG
1065extern void __init pci_mmcfg_early_init(void);
1066extern void __init pci_mmcfg_late_init(void);
1067#else
1068static inline void pci_mmcfg_early_init(void) { }
1069static inline void pci_mmcfg_late_init(void) { }
1070#endif
1071
1056#endif /* __KERNEL__ */ 1072#endif /* __KERNEL__ */
1057#endif /* LINUX_PCI_H */ 1073#endif /* LINUX_PCI_H */