PCI/MSI: Move pci_irq_vector() to api.c
authorAhmed S. Darwish <darwi@linutronix.de>
Fri, 11 Nov 2022 13:54:53 +0000 (14:54 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 17 Nov 2022 14:15:21 +0000 (15:15 +0100)
To disentangle the maze in msi.c, all exported device-driver MSI APIs are
now to be grouped in one file, api.c.

Move pci_irq_vector() and let its kernel-doc match the rest of the file.

Signed-off-by: Ahmed S. Darwish <darwi@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/r/20221111122014.984490384@linutronix.de
drivers/pci/msi/api.c
drivers/pci/msi/msi.c

index 8546749..0f1ec87 100644 (file)
@@ -182,3 +182,26 @@ int pci_alloc_irq_vectors_affinity(struct pci_dev *dev, unsigned int min_vecs,
        return nvecs;
 }
 EXPORT_SYMBOL(pci_alloc_irq_vectors_affinity);
+
+/**
+ * pci_irq_vector() - Get Linux IRQ number of a device interrupt vector
+ * @dev: the PCI device to operate on
+ * @nr:  device-relative interrupt vector index (0-based); has different
+ *       meanings, depending on interrupt mode
+ *         MSI-X        the index in the MSI-X vector table
+ *         MSI          the index of the enabled MSI vectors
+ *         INTx         must be 0
+ *
+ * Return: the Linux IRQ number, or -EINVAL if @nr is out of range
+ */
+int pci_irq_vector(struct pci_dev *dev, unsigned int nr)
+{
+       unsigned int irq;
+
+       if (!dev->msi_enabled && !dev->msix_enabled)
+               return !nr ? dev->irq : -EINVAL;
+
+       irq = msi_get_virq(&dev->dev, nr);
+       return irq ? irq : -EINVAL;
+}
+EXPORT_SYMBOL(pci_irq_vector);
index a028774..38ad2fe 100644 (file)
@@ -900,30 +900,6 @@ void pci_free_irq_vectors(struct pci_dev *dev)
 EXPORT_SYMBOL(pci_free_irq_vectors);
 
 /**
- * pci_irq_vector - return Linux IRQ number of a device vector
- * @dev:       PCI device to operate on
- * @nr:                Interrupt vector index (0-based)
- *
- * @nr has the following meanings depending on the interrupt mode:
- *   MSI-X:    The index in the MSI-X vector table
- *   MSI:      The index of the enabled MSI vectors
- *   INTx:     Must be 0
- *
- * Return: The Linux interrupt number or -EINVAl if @nr is out of range.
- */
-int pci_irq_vector(struct pci_dev *dev, unsigned int nr)
-{
-       unsigned int irq;
-
-       if (!dev->msi_enabled && !dev->msix_enabled)
-               return !nr ? dev->irq : -EINVAL;
-
-       irq = msi_get_virq(&dev->dev, nr);
-       return irq ? irq : -EINVAL;
-}
-EXPORT_SYMBOL(pci_irq_vector);
-
-/**
  * pci_irq_get_affinity - return the affinity of a particular MSI vector
  * @dev:       PCI device to operate on
  * @nr:                device-relative interrupt vector index (0-based).