summaryrefslogtreecommitdiffstats
path: root/drivers/mailbox
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2022-03-09 18:03:43 +0800
committerJassi Brar <jaswinder.singh@linaro.org>2022-03-12 19:30:55 -0600
commitcfd162f604bfccfe0b0953fbf0adfcb80ed75cce (patch)
treecfe963a1302fbdc920b4ce063269d83b21b0fef0 /drivers/mailbox
parent241aba6c1ebd2c326a371b8af84b1f096efd0506 (diff)
downloadlinux-cfd162f604bfccfe0b0953fbf0adfcb80ed75cce.tar.bz2
mailbox: imx: extend irq to an array
To i.MX93 S401 MU, there are two interrupts: rx full and tx empty. So extend irq to an array to prepare i.MX93 S401 MU support. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Diffstat (limited to 'drivers/mailbox')
-rw-r--r--drivers/mailbox/imx-mailbox.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c
index cd011ca5707e..03699843a6fd 100644
--- a/drivers/mailbox/imx-mailbox.c
+++ b/drivers/mailbox/imx-mailbox.c
@@ -80,7 +80,7 @@ struct imx_mu_priv {
struct imx_mu_con_priv con_priv[IMX_MU_CHANS];
const struct imx_mu_dcfg *dcfg;
struct clk *clk;
- int irq;
+ int irq[IMX_MU_CHANS];
bool suspend;
u32 xcr[4];
@@ -551,11 +551,11 @@ static int imx_mu_startup(struct mbox_chan *chan)
if (!priv->dev->pm_domain)
irq_flag |= IRQF_NO_SUSPEND;
- ret = request_irq(priv->irq, imx_mu_isr, irq_flag,
+ ret = request_irq(priv->irq[0], imx_mu_isr, irq_flag,
cp->irq_desc, chan);
if (ret) {
dev_err(priv->dev,
- "Unable to acquire IRQ %d\n", priv->irq);
+ "Unable to acquire IRQ %d\n", priv->irq[0]);
return ret;
}
@@ -598,7 +598,7 @@ static void imx_mu_shutdown(struct mbox_chan *chan)
break;
}
- free_irq(priv->irq, chan);
+ free_irq(priv->irq[0], chan);
pm_runtime_put_sync(priv->dev);
}
@@ -762,9 +762,9 @@ static int imx_mu_probe(struct platform_device *pdev)
if (IS_ERR(priv->base))
return PTR_ERR(priv->base);
- priv->irq = platform_get_irq(pdev, 0);
- if (priv->irq < 0)
- return priv->irq;
+ priv->irq[0] = platform_get_irq(pdev, 0);
+ if (priv->irq[0] < 0)
+ return priv->irq[0];
dcfg = of_device_get_match_data(dev);
if (!dcfg)