lkml.org 
[lkml]   [2022]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 25/39] PCI/MSI: Move pci_free_irq_vectors() to api.c
    On Fri, Nov 11, 2022 at 02:54:54PM +0100, Thomas Gleixner wrote:
    > From: Ahmed S. Darwish <darwi@linutronix.de>
    >
    > To distangle the maze in msi.c, all exported device-driver MSI APIs are
    > now to be grouped in one file, api.c.
    >
    > Move pci_free_irq_vectors() and make its kernel-doc comprehensive.
    >
    > Signed-off-by: Ahmed S. Darwish <darwi@linutronix.de>
    > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

    Acked-by: Bjorn Helgaas <bhelgaas@google.com>

    > ---
    > drivers/pci/msi/api.c | 15 +++++++++++++++
    > drivers/pci/msi/msi.c | 13 -------------
    > 2 files changed, 15 insertions(+), 13 deletions(-)
    > ---
    > diff --git a/drivers/pci/msi/api.c b/drivers/pci/msi/api.c
    > index 0f1ec87e3f9f..2ff2a9ccfc47 100644
    > --- a/drivers/pci/msi/api.c
    > +++ b/drivers/pci/msi/api.c
    > @@ -205,3 +205,18 @@ int pci_irq_vector(struct pci_dev *dev, unsigned int nr)
    > return irq ? irq : -EINVAL;
    > }
    > EXPORT_SYMBOL(pci_irq_vector);
    > +
    > +/**
    > + * pci_free_irq_vectors() - Free previously allocated IRQs for a device
    > + * @dev: the PCI device to operate on
    > + *
    > + * Undo the interrupt vector allocations and possible device MSI/MSI-X
    > + * enablement earlier done through pci_alloc_irq_vectors_affinity() or
    > + * pci_alloc_irq_vectors().
    > + */
    > +void pci_free_irq_vectors(struct pci_dev *dev)
    > +{
    > + pci_disable_msix(dev);
    > + pci_disable_msi(dev);
    > +}
    > +EXPORT_SYMBOL(pci_free_irq_vectors);
    > diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
    > index 38ad2fe4b85c..ed8caf5ac99f 100644
    > --- a/drivers/pci/msi/msi.c
    > +++ b/drivers/pci/msi/msi.c
    > @@ -887,19 +887,6 @@ int __pci_enable_msix_range(struct pci_dev *dev,
    > }
    >
    > /**
    > - * pci_free_irq_vectors - free previously allocated IRQs for a device
    > - * @dev: PCI device to operate on
    > - *
    > - * Undoes the allocations and enabling in pci_alloc_irq_vectors().
    > - */
    > -void pci_free_irq_vectors(struct pci_dev *dev)
    > -{
    > - pci_disable_msix(dev);
    > - pci_disable_msi(dev);
    > -}
    > -EXPORT_SYMBOL(pci_free_irq_vectors);
    > -
    > -/**
    > * 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).
    >

    \
     
     \ /
      Last update: 2022-11-16 17:31    [W:4.350 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site