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

Reply via email to