summaryrefslogtreecommitdiffstats
path: root/drivers/ata/ahci.c
diff options
context:
space:
mode:
authorRobert Richter <robert.richter@caviumnetworks.com>2015-06-17 15:30:02 +0200
committerTejun Heo <tj@kernel.org>2015-06-17 14:16:42 -0400
commit34c56932ce5278b8bbae13936f9df05cd59e3193 (patch)
tree5dbd6135c7eeec01a175d28a0becab4ac6bd848d /drivers/ata/ahci.c
parentb7ae128d728c42583dac9db48dce9a44bc0fb900 (diff)
downloadlinux-34c56932ce5278b8bbae13936f9df05cd59e3193.tar.gz
linux-34c56932ce5278b8bbae13936f9df05cd59e3193.tar.bz2
linux-34c56932ce5278b8bbae13936f9df05cd59e3193.zip
ahci, msix: Fix build error for !PCI_MSI
It turned out the irq vector of the msix can be obtained from struct msix_entry. This makes the lookup function for msi_desc obsolete. This fixes a build error if PCI_MSI is unset: drivers/ata/ahci.c: In function ‘msix_get_desc’: drivers/ata/ahci.c:1210:2: error: ‘struct pci_dev’ has no member named ‘msi_list’ Catched by Fengguang's build bot. Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Robert Richter <rrichter@cavium.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r--drivers/ata/ahci.c21
1 files changed, 1 insertions, 20 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index bdedaa4f9d7b..c478a40e32c6 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -1203,18 +1203,6 @@ static inline void ahci_gtf_filter_workaround(struct ata_host *host)
{}
#endif
-static struct msi_desc *msix_get_desc(struct pci_dev *dev, u16 entry)
-{
- struct msi_desc *desc;
-
- list_for_each_entry(desc, &dev->msi_list, list) {
- if (desc->msi_attrib.entry_nr == entry)
- return desc;
- }
-
- return NULL;
-}
-
/*
* ahci_init_msix() only implements single MSI-X support, not multiple
* MSI-X per-port interrupts. This is needed for host controllers that only
@@ -1223,7 +1211,6 @@ static struct msi_desc *msix_get_desc(struct pci_dev *dev, u16 entry)
static int ahci_init_msix(struct pci_dev *pdev, unsigned int n_ports,
struct ahci_host_priv *hpriv)
{
- struct msi_desc *desc;
int rc, nvec;
struct msix_entry entry = {};
@@ -1248,13 +1235,7 @@ static int ahci_init_msix(struct pci_dev *pdev, unsigned int n_ports,
if (rc < 0)
goto fail;
- desc = msix_get_desc(pdev, 0); /* first entry */
- if (!desc) {
- rc = -EINVAL;
- goto fail;
- }
-
- hpriv->irq = desc->irq;
+ hpriv->irq = entry.vector;
return 1;
fail: