diff options
Diffstat (limited to 'include/linux/pci.h')
| -rw-r--r-- | include/linux/pci.h | 21 | 
1 files changed, 18 insertions, 3 deletions
| diff --git a/include/linux/pci.h b/include/linux/pci.h index 18a75c8e615c..8253a5413d7c 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -155,6 +155,15 @@ enum pci_interrupt_pin {  #define PCI_NUM_INTX	4  /* + * Reading from a device that doesn't respond typically returns ~0.  A + * successful read from a device may also return ~0, so you need additional + * information to reliably identify errors. + */ +#define PCI_ERROR_RESPONSE		(~0ULL) +#define PCI_SET_ERROR_RESPONSE(val)	(*(val) = ((typeof(*(val))) PCI_ERROR_RESPONSE)) +#define PCI_POSSIBLE_ERROR(val)		((val) == ((typeof(val)) PCI_ERROR_RESPONSE)) + +/*   * pci_power_t values must match the bits in the Capabilities PME_Support   * and Control/Status PowerState fields in the Power Management capability.   */ @@ -425,7 +434,8 @@ struct pci_dev {  	unsigned int	ats_enabled:1;		/* Address Translation Svc */  	unsigned int	pasid_enabled:1;	/* Process Address Space ID */  	unsigned int	pri_enabled:1;		/* Page Request Interface */ -	unsigned int	is_managed:1; +	unsigned int	is_managed:1;		/* Managed via devres */ +	unsigned int	is_msi_managed:1;	/* MSI release via devres installed */  	unsigned int	needs_freset:1;		/* Requires fundamental reset */  	unsigned int	state_saved:1;  	unsigned int	is_physfn:1; @@ -455,6 +465,7 @@ struct pci_dev {  	unsigned int	link_active_reporting:1;/* Device capable of reporting link active */  	unsigned int	no_vf_scan:1;		/* Don't scan for VFs after IOV enablement */  	unsigned int	no_command_memory:1;	/* No PCI_COMMAND_MEMORY */ +	unsigned int	rom_bar_overlap:1;	/* ROM BAR disable broken */  	pci_dev_flags_t dev_flags;  	atomic_t	enable_cnt;	/* pci_enable_device has been called */ @@ -473,7 +484,8 @@ struct pci_dev {  	u8		ptm_granularity;  #endif  #ifdef CONFIG_PCI_MSI -	const struct attribute_group **msi_irq_groups; +	void __iomem	*msix_base; +	raw_spinlock_t	msi_lock;  #endif  	struct pci_vpd	vpd;  #ifdef CONFIG_PCIE_DPC @@ -1775,7 +1787,10 @@ static inline struct pci_dev *pci_get_class(unsigned int class,  					    struct pci_dev *from)  { return NULL; } -#define pci_dev_present(ids)	(0) + +static inline int pci_dev_present(const struct pci_device_id *ids) +{ return 0; } +  #define no_pci_devices()	(1)  #define pci_dev_put(dev)	do { } while (0) |