ahci, msix: Fix build error for !PCI_MSI
authorRobert Richter <robert.richter@caviumnetworks.com>
Wed, 17 Jun 2015 13:30:02 +0000 (15:30 +0200)
committerTejun Heo <tj@kernel.org>
Wed, 17 Jun 2015 18:16:42 +0000 (14:16 -0400)
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>
drivers/ata/ahci.c

index bdedaa4f9d7b9622588874e2c83cc445cdca53e9..c478a40e32c69657d83e17ad3679abd27ac590c8 100644 (file)
@@ -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: