]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
watchdog: rti_wdt: Use of_reserved_mem_region_to_resource() for "memory-region"
authorRob Herring (Arm) <robh@kernel.org>
Thu, 3 Jul 2025 18:35:18 +0000 (13:35 -0500)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Wed, 16 Jul 2025 16:05:01 +0000 (18:05 +0200)
Use the newly added of_reserved_mem_region_to_resource() function to
handle "memory-region" properties.

The error handling is a bit different. "memory-region" is optional, so
failed lookup is not an error. But then an error in
of_address_to_resource() is treated as an error. However, that
distinction is not really important. Either the region is available
and usable or it is not. So now, it is just
of_reserved_mem_region_to_resource() which is checked for an error.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20250703183518.2075108-1-robh@kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/rti_wdt.c

index d1f9ce4100a825ee5924f4a4f9f20d7f97b6905e..be7d7db4759116ea0dfeede608db07242c314afc 100644 (file)
@@ -15,7 +15,7 @@
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/of.h>
-#include <linux/of_address.h>
+#include <linux/of_reserved_mem.h>
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
 #include <linux/types.h>
@@ -214,7 +214,6 @@ static int rti_wdt_probe(struct platform_device *pdev)
        struct rti_wdt_device *wdt;
        struct clk *clk;
        u32 last_ping = 0;
-       struct device_node *node;
        u32 reserved_mem_size;
        struct resource res;
        u32 *vaddr;
@@ -299,15 +298,8 @@ static int rti_wdt_probe(struct platform_device *pdev)
                }
        }
 
-       node = of_parse_phandle(pdev->dev.of_node, "memory-region", 0);
-       if (node) {
-               ret = of_address_to_resource(node, 0, &res);
-               of_node_put(node);
-               if (ret) {
-                       dev_err(dev, "No memory address assigned to the region.\n");
-                       goto err_iomap;
-               }
-
+       ret = of_reserved_mem_region_to_resource(pdev->dev.of_node, 0, &res);
+       if (!ret) {
                /*
                 * If reserved memory is defined for watchdog reset cause.
                 * Readout the Power-on(PON) reason and pass to bootstatus.