On K3 devices two drivers ti_sci and ti_sci_dm are supporting firmware functions. At run time one of driver is used.
Driver ti_sci already initializing head for dev_list in its probe function, but it was missed in ti_sci_dm driver. So add head list init support for ti_sci_dm driver. While at this, move init of list before usages in both functions. Fixes: 5d5a699855a7("firmware: ti_sci: Add support for Resoure Management at R5 SPL stage") Reviewed-by: Neha Malcom Francis <n-fran...@ti.com> Signed-off-by: Udit Kumar <u-kum...@ti.com> --- Changes in v2: 1) moved init of list before adding node 2) collected R/B of v1 Link to v1 https://lore.kernel.org/all/20250429074950.2262104-1-u-kum...@ti.com/ drivers/firmware/ti_sci.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c index 54d6689ce78..344df9454b3 100644 --- a/drivers/firmware/ti_sci.c +++ b/drivers/firmware/ti_sci.c @@ -2845,11 +2845,11 @@ static int ti_sci_probe(struct udevice *dev) info->dev = dev; info->seq = 0xA; + INIT_LIST_HEAD(&info->dev_list); + list_add_tail(&info->list, &ti_sci_list); ti_sci_setup_ops(info); - INIT_LIST_HEAD(&info->dev_list); - if (IS_ENABLED(CONFIG_SYSRESET_TI_SCI)) { ret = device_bind_driver(dev, "ti-sci-sysreset", "sysreset", NULL); if (ret) @@ -2889,6 +2889,8 @@ static __maybe_unused int ti_sci_dm_probe(struct udevice *dev) info->dev = dev; info->seq = 0xA; + INIT_LIST_HEAD(&info->dev_list); + list_add_tail(&info->list, &ti_sci_list); ops = &info->handle.ops; -- 2.34.1