]> git.baikalelectronics.ru Git - kernel.git/commitdiff
mailbox: bcm-flexrm-mailbox: Rework MSI interrupt handling
authorThomas Gleixner <tglx@linutronix.de>
Fri, 10 Dec 2021 22:19:32 +0000 (23:19 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 16 Dec 2021 21:16:41 +0000 (22:16 +0100)
No point in retrieving the MSI descriptors. Just query the Linux interrupt
number.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20211210221815.148331680@linutronix.de
drivers/mailbox/bcm-flexrm-mailbox.c

index 53a84733d8cc63af241fe3254d7596907258359b..c2e9a05641c823130a5b402b54f7eebb2b3f7c12 100644 (file)
@@ -1497,7 +1497,6 @@ static int flexrm_mbox_probe(struct platform_device *pdev)
        int index, ret = 0;
        void __iomem *regs;
        void __iomem *regs_end;
-       struct msi_desc *desc;
        struct resource *iomem;
        struct flexrm_ring *ring;
        struct flexrm_mbox *mbox;
@@ -1608,10 +1607,8 @@ static int flexrm_mbox_probe(struct platform_device *pdev)
                goto fail_destroy_cmpl_pool;
 
        /* Save alloced IRQ numbers for each ring */
-       for_each_msi_entry(desc, dev) {
-               ring = &mbox->rings[desc->msi_index];
-               ring->irq = desc->irq;
-       }
+       for (index = 0; index < mbox->num_rings; index++)
+               mbox->rings[index].irq = msi_get_virq(dev, index);
 
        /* Check availability of debugfs */
        if (!debugfs_initialized())