]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
x86/PCI: VMD: Convert to use pci_alloc_irq_vectors() API
authorJon Derrick <jonathan.derrick@intel.com>
Mon, 29 Aug 2016 17:19:02 +0000 (11:19 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 19 Sep 2016 18:14:05 +0000 (13:14 -0500)
Convert to use the pci_alloc_irq_vectors() API.

Signed-off-by: Jon Derrick <jonathan.derrick@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Keith Busch <keith.busch@intel.com>
arch/x86/pci/vmd.c

index 7a8538da62897cd6a993dad01a08718461e1e0f6..f576dcba2175bfad1d89e04d376fa63cda6df06f 100644 (file)
@@ -76,7 +76,6 @@ struct vmd_dev {
        char __iomem            *cfgbar;
 
        int msix_count;
-       struct msix_entry       *msix_entries;
        struct vmd_irq_list     *irqs;
 
        struct pci_sysdata      sysdata;
@@ -671,16 +670,8 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id)
        if (vmd->msix_count < 0)
                return -ENODEV;
 
-       vmd->msix_entries = devm_kcalloc(&dev->dev, vmd->msix_count,
-                                        sizeof(*vmd->msix_entries),
-                                        GFP_KERNEL);
-       if (!vmd->msix_entries)
-               return -ENOMEM;
-       for (i = 0; i < vmd->msix_count; i++)
-               vmd->msix_entries[i].entry = i;
-
-       vmd->msix_count = pci_enable_msix_range(vmd->dev, vmd->msix_entries, 1,
-                                               vmd->msix_count);
+       vmd->msix_count = pci_alloc_irq_vectors(dev, 1, vmd->msix_count,
+                                       PCI_IRQ_MSIX | PCI_IRQ_AFFINITY);
        if (vmd->msix_count < 0)
                return vmd->msix_count;
 
@@ -691,7 +682,7 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id)
 
        for (i = 0; i < vmd->msix_count; i++) {
                INIT_LIST_HEAD(&vmd->irqs[i].irq_list);
-               vmd->irqs[i].vmd_vector = vmd->msix_entries[i].vector;
+               vmd->irqs[i].vmd_vector = pci_irq_vector(dev, i);
                vmd->irqs[i].index = i;
 
                err = devm_request_irq(&dev->dev, vmd->irqs[i].vmd_vector,