firmware: ti_sci: Unconditionally register reset handler
authorAndrew Davis <afd@ti.com>
Tue, 26 Mar 2024 22:37:28 +0000 (17:37 -0500)
committerNishanth Menon <nm@ti.com>
Tue, 9 Apr 2024 16:05:10 +0000 (11:05 -0500)
There was once a limitation that there could only be one system
reset handler. Due to that we only would register this handler
when a non-standard device tree property was found, else we left
the default handler in place (usually PSCI). Now that we can
have multiple handlers, and TI-SCI reset is always available
in the firmware, register this handler unconditionally.

This priority is left at the default so higher priority handlers
(like PSCI) are still attempted first.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Markus Schneider-Pargmann <msp@baylibre.com>
Link: https://lore.kernel.org/r/20240326223730.54639-3-afd@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
drivers/firmware/ti_sci.c

index 9885e1763591b12a898a23176fc9e49ee411c8fd..160968301b1fbc4142c18a10048aaa933e4b9c91 100644 (file)
@@ -3299,7 +3299,6 @@ static int ti_sci_probe(struct platform_device *pdev)
        struct mbox_client *cl;
        int ret = -EINVAL;
        int i;
-       int reboot = 0;
        u32 h_id;
 
        desc = device_get_match_data(dev);
@@ -3323,8 +3322,6 @@ static int ti_sci_probe(struct platform_device *pdev)
                }
        }
 
-       reboot = of_property_read_bool(dev->of_node,
-                                      "ti,system-reboot-controller");
        INIT_LIST_HEAD(&info->node);
        minfo = &info->minfo;
 
@@ -3395,14 +3392,10 @@ static int ti_sci_probe(struct platform_device *pdev)
 
        ti_sci_setup_ops(info);
 
-       if (reboot) {
-               ret = devm_register_restart_handler(dev,
-                                                   tisci_reboot_handler,
-                                                   info);
-               if (ret) {
-                       dev_err(dev, "reboot registration fail(%d)\n", ret);
-                       goto out;
-               }
+       ret = devm_register_restart_handler(dev, tisci_reboot_handler, info);
+       if (ret) {
+               dev_err(dev, "reboot registration fail(%d)\n", ret);
+               goto out;
        }
 
        dev_info(dev, "ABI: %d.%d (firmware rev 0x%04x '%s')\n",