summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-09-11 15:31:24 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2016-11-08 17:29:46 -0500
commita299ee62cf40d6d80a9f11d57220f0a28077fe2d (patch)
treef5a357809478024aa5af521a8754e62446d93abe /drivers/scsi/ipr.h
parent68130c99480919c2088df530fc25b5e314ad806a (diff)
downloadlinux-stable-a299ee62cf40d6d80a9f11d57220f0a28077fe2d.tar.gz
linux-stable-a299ee62cf40d6d80a9f11d57220f0a28077fe2d.tar.bz2
linux-stable-a299ee62cf40d6d80a9f11d57220f0a28077fe2d.zip
scsi: ipr: Use pci_irq_allocate_vectors
Switch the ipr driver to use pci_alloc_irq_vectors. We need to two calls to pci_alloc_irq_vectors as ipr only supports multiple MSI-X vectors, but not multiple MSI vectors. Otherwise this cleans up a lot of cruft and allows to use a common request_irq loop for irq types, which happens to only iterate over a single line in the non MSI-X case. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r--drivers/scsi/ipr.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
index 8995053d01b3..b7d2e98eb45b 100644
--- a/drivers/scsi/ipr.h
+++ b/drivers/scsi/ipr.h
@@ -1413,10 +1413,7 @@ struct ipr_chip_cfg_t {
struct ipr_chip_t {
u16 vendor;
u16 device;
- u16 intr_type;
-#define IPR_USE_LSI 0x00
-#define IPR_USE_MSI 0x01
-#define IPR_USE_MSIX 0x02
+ bool has_msi;
u16 sis_type;
#define IPR_SIS32 0x00
#define IPR_SIS64 0x01
@@ -1593,11 +1590,9 @@ struct ipr_ioa_cfg {
struct ipr_cmnd **ipr_cmnd_list;
dma_addr_t *ipr_cmnd_list_dma;
- u16 intr_flag;
unsigned int nvectors;
struct {
- unsigned short vec;
char desc[22];
} vectors_info[IPR_MAX_MSIX_VECTORS];