firmware: imx: scu-irq: Set mu_resource_id before get handle
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. Reviewed-by: Frank Li <Frank.Li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
@@ -203,6 +203,18 @@ int imx_scu_enable_general_irq_channel(struct device *dev)
|
|||||||
struct mbox_chan *ch;
|
struct mbox_chan *ch;
|
||||||
int ret = 0, i = 0;
|
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);
|
ret = imx_scu_get_handle(&imx_sc_irq_ipc_handle);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
@@ -224,18 +236,6 @@ int imx_scu_enable_general_irq_channel(struct device *dev)
|
|||||||
goto free_cl;
|
goto free_cl;
|
||||||
}
|
}
|
||||||
|
|
||||||
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 */
|
/* Create directory under /sysfs/firmware */
|
||||||
wakeup_obj = kobject_create_and_add("scu_wakeup_source", firmware_kobj);
|
wakeup_obj = kobject_create_and_add("scu_wakeup_source", firmware_kobj);
|
||||||
if (!wakeup_obj) {
|
if (!wakeup_obj) {
|
||||||
|
|||||||
Reference in New Issue
Block a user