Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (59 commits) PCI: Free resource files in error path of pci_create_sysfs_dev_files() pci-quirks: disable MSI on RS400-200 and RS480 PCI hotplug: Use menuconfig objects PCI: ZT5550 CPCI Hotplug driver fix PCI: rpaphp: Remove semaphores PCI: rpaphp: Ensure more pcibios_add/pcibios_remove symmetry PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically PCI: rpaphp: Document is_php_dn() PCI: rpaphp: Document find_php_slot() PCI: rpaphp: Rename rpaphp_register_pci_slot() to rpaphp_enable_slot() PCI: rpaphp: refactor tail call to rpaphp_register_slot() PCI: rpaphp: remove rpaphp_set_attention_status() PCI: rpaphp: remove print_slot_pci_funcs() PCI: rpaphp: Remove setup_pci_slot() PCI: rpaphp: remove a call that does nothing but a pointer lookup PCI: rpaphp: Remove another wrappered function PCI: rpaphp: Remve another call that is a wrapper PCI: rpaphp: remove a function that does nothing but wrap debug printks PCI: rpaphp: Remove un-needed goto PCI: rpaphp: Fix a memleak; slot->location string was never freed ...
This commit is contained in:
@@ -80,7 +80,6 @@ struct bus_type {
|
||||
int (*resume)(struct device * dev);
|
||||
|
||||
unsigned int drivers_autoprobe:1;
|
||||
unsigned int multithread_probe:1;
|
||||
};
|
||||
|
||||
extern int __must_check bus_register(struct bus_type * bus);
|
||||
|
||||
+7
-4
@@ -1,6 +1,8 @@
|
||||
#ifndef LINUX_MSI_H
|
||||
#define LINUX_MSI_H
|
||||
|
||||
#include <linux/list.h>
|
||||
|
||||
struct msi_msg {
|
||||
u32 address_lo; /* low 32 bits of msi message address */
|
||||
u32 address_hi; /* high 32 bits of msi message address */
|
||||
@@ -24,10 +26,8 @@ struct msi_desc {
|
||||
unsigned default_irq; /* default pre-assigned irq */
|
||||
}msi_attrib;
|
||||
|
||||
struct {
|
||||
__u16 head;
|
||||
__u16 tail;
|
||||
}link;
|
||||
unsigned int irq;
|
||||
struct list_head list;
|
||||
|
||||
void __iomem *mask_base;
|
||||
struct pci_dev *dev;
|
||||
@@ -41,6 +41,9 @@ struct msi_desc {
|
||||
*/
|
||||
int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc);
|
||||
void arch_teardown_msi_irq(unsigned int irq);
|
||||
extern int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type);
|
||||
extern void arch_teardown_msi_irqs(struct pci_dev *dev);
|
||||
extern int arch_msi_check_device(struct pci_dev* dev, int nvec, int type);
|
||||
|
||||
|
||||
#endif /* LINUX_MSI_H */
|
||||
|
||||
+20
-7
@@ -96,6 +96,19 @@ enum pci_channel_state {
|
||||
pci_channel_io_perm_failure = (__force pci_channel_state_t) 3,
|
||||
};
|
||||
|
||||
typedef unsigned int __bitwise pcie_reset_state_t;
|
||||
|
||||
enum pcie_reset_state {
|
||||
/* Reset is NOT asserted (Use to deassert reset) */
|
||||
pcie_deassert_reset = (__force pcie_reset_state_t) 1,
|
||||
|
||||
/* Use #PERST to reset PCI-E device */
|
||||
pcie_warm_reset = (__force pcie_reset_state_t) 2,
|
||||
|
||||
/* Use PCI-E Hot Reset to reset device */
|
||||
pcie_hot_reset = (__force pcie_reset_state_t) 3
|
||||
};
|
||||
|
||||
typedef unsigned short __bitwise pci_bus_flags_t;
|
||||
enum pci_bus_flags {
|
||||
PCI_BUS_FLAGS_NO_MSI = (__force pci_bus_flags_t) 1,
|
||||
@@ -176,10 +189,12 @@ struct pci_dev {
|
||||
int rom_attr_enabled; /* has display of the rom attribute been enabled? */
|
||||
struct bin_attribute *res_attr[DEVICE_COUNT_RESOURCE]; /* sysfs file for resources */
|
||||
#ifdef CONFIG_PCI_MSI
|
||||
unsigned int first_msi_irq;
|
||||
struct list_head msi_list;
|
||||
#endif
|
||||
};
|
||||
|
||||
extern struct pci_dev *alloc_pci_dev(void);
|
||||
|
||||
#define pci_dev_g(n) list_entry(n, struct pci_dev, global_list)
|
||||
#define pci_dev_b(n) list_entry(n, struct pci_dev, bus_list)
|
||||
#define to_pci_dev(n) container_of(n, struct pci_dev, dev)
|
||||
@@ -392,12 +407,6 @@ struct pci_driver {
|
||||
.vendor = PCI_ANY_ID, .device = PCI_ANY_ID, \
|
||||
.subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID
|
||||
|
||||
/*
|
||||
* pci_module_init is obsolete, this stays here till we fix up all usages of it
|
||||
* in the tree.
|
||||
*/
|
||||
#define pci_module_init pci_register_driver
|
||||
|
||||
/**
|
||||
* PCI_VDEVICE - macro used to describe a specific pci device in short form
|
||||
* @vend: the vendor name
|
||||
@@ -532,6 +541,7 @@ static inline int pci_is_managed(struct pci_dev *pdev)
|
||||
|
||||
void pci_disable_device(struct pci_dev *dev);
|
||||
void pci_set_master(struct pci_dev *dev);
|
||||
int pci_set_pcie_reset_state(struct pci_dev *dev, enum pcie_reset_state state);
|
||||
#define HAVE_PCI_SET_MWI
|
||||
int __must_check pci_set_mwi(struct pci_dev *dev);
|
||||
void pci_clear_mwi(struct pci_dev *dev);
|
||||
@@ -730,6 +740,9 @@ static inline int pci_set_power_state(struct pci_dev *dev, pci_power_t state) {
|
||||
static inline pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state) { return PCI_D0; }
|
||||
static inline int pci_enable_wake(struct pci_dev *dev, pci_power_t state, int enable) { return 0; }
|
||||
|
||||
static inline int pci_request_regions(struct pci_dev *dev, const char *res_name) { return -EIO; }
|
||||
static inline void pci_release_regions(struct pci_dev *dev) { }
|
||||
|
||||
#define pci_dma_burst_advice(pdev, strat, strategy_parameter) do { } while (0)
|
||||
|
||||
static inline void pci_block_user_cfg_access(struct pci_dev *dev) { }
|
||||
|
||||
Reference in New Issue
Block a user