mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
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 <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
This commit is contained in:
parent
beddb5efb4
commit
017239c8db
2 changed files with 23 additions and 24 deletions
|
@ -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);
|
||||
|
|
|
@ -899,30 +899,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
|
||||
|
|
Loading…
Reference in a new issue