Skip to content

Commit 017239c

Browse files
Ahmed S. DarwishKAGA-KOKO
authored andcommitted
PCI/MSI: Move pci_irq_vector() to api.c
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 <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Acked-by: Bjorn Helgaas <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent beddb5e commit 017239c

File tree

2 files changed

+23
-24
lines changed

2 files changed

+23
-24
lines changed

drivers/pci/msi/api.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,3 +182,26 @@ int pci_alloc_irq_vectors_affinity(struct pci_dev *dev, unsigned int min_vecs,
182182
return nvecs;
183183
}
184184
EXPORT_SYMBOL(pci_alloc_irq_vectors_affinity);
185+
186+
/**
187+
* pci_irq_vector() - Get Linux IRQ number of a device interrupt vector
188+
* @dev: the PCI device to operate on
189+
* @nr: device-relative interrupt vector index (0-based); has different
190+
* meanings, depending on interrupt mode
191+
* MSI-X the index in the MSI-X vector table
192+
* MSI the index of the enabled MSI vectors
193+
* INTx must be 0
194+
*
195+
* Return: the Linux IRQ number, or -EINVAL if @nr is out of range
196+
*/
197+
int pci_irq_vector(struct pci_dev *dev, unsigned int nr)
198+
{
199+
unsigned int irq;
200+
201+
if (!dev->msi_enabled && !dev->msix_enabled)
202+
return !nr ? dev->irq : -EINVAL;
203+
204+
irq = msi_get_virq(&dev->dev, nr);
205+
return irq ? irq : -EINVAL;
206+
}
207+
EXPORT_SYMBOL(pci_irq_vector);

drivers/pci/msi/msi.c

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -899,30 +899,6 @@ void pci_free_irq_vectors(struct pci_dev *dev)
899899
}
900900
EXPORT_SYMBOL(pci_free_irq_vectors);
901901

902-
/**
903-
* pci_irq_vector - return Linux IRQ number of a device vector
904-
* @dev: PCI device to operate on
905-
* @nr: Interrupt vector index (0-based)
906-
*
907-
* @nr has the following meanings depending on the interrupt mode:
908-
* MSI-X: The index in the MSI-X vector table
909-
* MSI: The index of the enabled MSI vectors
910-
* INTx: Must be 0
911-
*
912-
* Return: The Linux interrupt number or -EINVAl if @nr is out of range.
913-
*/
914-
int pci_irq_vector(struct pci_dev *dev, unsigned int nr)
915-
{
916-
unsigned int irq;
917-
918-
if (!dev->msi_enabled && !dev->msix_enabled)
919-
return !nr ? dev->irq : -EINVAL;
920-
921-
irq = msi_get_virq(&dev->dev, nr);
922-
return irq ? irq : -EINVAL;
923-
}
924-
EXPORT_SYMBOL(pci_irq_vector);
925-
926902
/**
927903
* pci_irq_get_affinity - return the affinity of a particular MSI vector
928904
* @dev: PCI device to operate on

0 commit comments

Comments
 (0)