[PATCH 4/8] firmware: imx: scu-irq: Set mu_resource_id before get handle
Frank Li
Frank.li at nxp.com
Tue Oct 14 08:57:08 PDT 2025
On Tue, Oct 14, 2025 at 12:54:41PM +0800, Peng Fan wrote:
> mu_resource_id is referenced in imx_scu_irq_get_status() and
> imx_scu_irq_group_enable() which could be used by other modules, so
> need to set correct value before using imx_sc_irq_ipc_handle in
> SCU API call.
>
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> ---
Reviewed-by: Frank Li <Frank.Li at nxp.com>
> drivers/firmware/imx/imx-scu-irq.c | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/firmware/imx/imx-scu-irq.c b/drivers/firmware/imx/imx-scu-irq.c
> index a53ed2040c0cf7065474d681b2eb933a15877380..1346b75596293892ccd90a856d46f52171d88734 100644
> --- a/drivers/firmware/imx/imx-scu-irq.c
> +++ b/drivers/firmware/imx/imx-scu-irq.c
> @@ -203,6 +203,18 @@ int imx_scu_enable_general_irq_channel(struct device *dev)
> struct mbox_chan *ch;
> int ret = 0, i = 0;
>
> + if (!of_parse_phandle_with_args(dev->of_node, "mboxes",
> + "#mbox-cells", 0, &spec)) {
> + i = of_alias_get_id(spec.np, "mu");
> + of_node_put(spec.np);
> + }
> +
> + /* use mu1 as general mu irq channel if failed */
> + if (i < 0)
> + i = 1;
> +
> + mu_resource_id = IMX_SC_R_MU_0A + i;
> +
> ret = imx_scu_get_handle(&imx_sc_irq_ipc_handle);
> if (ret)
> return ret;
> @@ -225,18 +237,6 @@ int imx_scu_enable_general_irq_channel(struct device *dev)
> return ret;
> }
>
> - if (!of_parse_phandle_with_args(dev->of_node, "mboxes",
> - "#mbox-cells", 0, &spec)) {
> - i = of_alias_get_id(spec.np, "mu");
> - of_node_put(spec.np);
> - }
> -
> - /* use mu1 as general mu irq channel if failed */
> - if (i < 0)
> - i = 1;
> -
> - mu_resource_id = IMX_SC_R_MU_0A + i;
> -
> /* Create directory under /sysfs/firmware */
> wakeup_obj = kobject_create_and_add("scu_wakeup_source", firmware_kobj);
> if (!wakeup_obj) {
>
> --
> 2.37.1
>
More information about the linux-arm-kernel
mailing list