x86/PCI: VMD: Eliminate vmd_vector member from list type
authorJon Derrick <jonathan.derrick@intel.com>
Fri, 2 Sep 2016 17:53:04 +0000 (11:53 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 19 Sep 2016 18:14:05 +0000 (13:14 -0500)
Eliminate unused vmd and vector members from vmd_irq_list and discover the
vector using pci_irq_vector().

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

index f576dcba2175bfad1d89e04d376fa63cda6df06f..61a97ff36514e41b2750a0d05b59d54dd7c90a6e 100644 (file)
@@ -56,15 +56,12 @@ struct vmd_irq {
 /**
  * struct vmd_irq_list - list of driver requested IRQs mapping to a VMD vector
  * @irq_list:  the list of irq's the VMD one demuxes to.
- * @vmd_vector:        the h/w IRQ assigned to the VMD.
  * @index:     index into the VMD MSI-X table; used for message routing.
  * @count:     number of child IRQs assigned to this vector; used to track
  *             sharing.
  */
 struct vmd_irq_list {
        struct list_head        irq_list;
-       struct vmd_dev          *vmd;
-       unsigned int            vmd_vector;
        unsigned int            index;
        unsigned int            count;
 };
@@ -201,8 +198,10 @@ static int vmd_msi_init(struct irq_domain *domain, struct msi_domain_info *info,
        vmdirq->irq = vmd_next_irq(vmd, desc);
        vmdirq->virq = virq;
 
-       irq_domain_set_info(domain, virq, vmdirq->irq->vmd_vector, info->chip,
-                           vmdirq, handle_untracked_irq, vmd, NULL);
+       irq_domain_set_info(domain, virq,
+                           pci_irq_vector(vmd->dev, vmdirq->irq->index),
+                           info->chip, vmdirq,
+                           handle_untracked_irq, vmd, NULL);
        return 0;
 }
 
@@ -682,10 +681,8 @@ 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 = pci_irq_vector(dev, i);
                vmd->irqs[i].index = i;
-
-               err = devm_request_irq(&dev->dev, vmd->irqs[i].vmd_vector,
+               err = devm_request_irq(&dev->dev, pci_irq_vector(dev, i),
                                       vmd_irq, 0, "vmd", &vmd->irqs[i]);
                if (err)
                        return err;