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];
        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;
        }
 
                break;
        }
 
-       free_irq(priv->irq, chan);
+       free_irq(priv->irq[0], chan);
        pm_runtime_put_sync(priv->dev);
 }
 
        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)