Skip to content

Commit bbda340

Browse files
Ahmed S. DarwishKAGA-KOKO
authored andcommitted
PCI/MSI: Move pci_enable_msi() API 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_enable_msi() and make its kernel-doc comprehensive. 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 b12d0be commit bbda340

File tree

3 files changed

+26
-12
lines changed

3 files changed

+26
-12
lines changed

drivers/pci/msi/api.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,29 @@
1212

1313
#include "msi.h"
1414

15+
/**
16+
* pci_enable_msi() - Enable MSI interrupt mode on device
17+
* @dev: the PCI device to operate on
18+
*
19+
* Legacy device driver API to enable MSI interrupts mode on device and
20+
* allocate a single interrupt vector. On success, the allocated vector
21+
* Linux IRQ will be saved at @dev->irq. The driver must invoke
22+
* pci_disable_msi() on cleanup.
23+
*
24+
* NOTE: The newer pci_alloc_irq_vectors() / pci_free_irq_vectors() API
25+
* pair should, in general, be used instead.
26+
*
27+
* Return: 0 on success, errno otherwise
28+
*/
29+
int pci_enable_msi(struct pci_dev *dev)
30+
{
31+
int rc = __pci_enable_msi_range(dev, 1, 1, NULL);
32+
if (rc < 0)
33+
return rc;
34+
return 0;
35+
}
36+
EXPORT_SYMBOL(pci_enable_msi);
37+
1538
/**
1639
* pci_disable_msi() - Disable MSI interrupt mode on device
1740
* @dev: the PCI device to operate on

drivers/pci/msi/msi.c

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -790,8 +790,8 @@ void pci_disable_msix(struct pci_dev *dev)
790790
}
791791
EXPORT_SYMBOL(pci_disable_msix);
792792

793-
static int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec,
794-
struct irq_affinity *affd)
793+
int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec,
794+
struct irq_affinity *affd)
795795
{
796796
int nvec;
797797
int rc;
@@ -844,16 +844,6 @@ static int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec,
844844
}
845845
}
846846

847-
/* deprecated, don't use */
848-
int pci_enable_msi(struct pci_dev *dev)
849-
{
850-
int rc = __pci_enable_msi_range(dev, 1, 1, NULL);
851-
if (rc < 0)
852-
return rc;
853-
return 0;
854-
}
855-
EXPORT_SYMBOL(pci_enable_msi);
856-
857847
static int __pci_enable_msix_range(struct pci_dev *dev,
858848
struct msix_entry *entries, int minvec,
859849
int maxvec, struct irq_affinity *affd,

drivers/pci/msi/msi.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ static inline __attribute_const__ u32 msi_multi_mask(struct msi_desc *desc)
8787
/* MSI internal functions invoked from the public APIs */
8888
void pci_msi_shutdown(struct pci_dev *dev);
8989
void pci_free_msi_irqs(struct pci_dev *dev);
90+
int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec, struct irq_affinity *affd);
9091

9192
/* Legacy (!IRQDOMAIN) fallbacks */
9293
#ifdef CONFIG_PCI_MSI_ARCH_FALLBACKS

0 commit comments

Comments
 (0)