clocksource/drivers/timer-ti-dm: Use of_address_to_resource()
authorRob Herring <robh@kernel.org>
Sun, 19 Mar 2023 16:32:20 +0000 (11:32 -0500)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Mon, 24 Apr 2023 14:56:13 +0000 (16:56 +0200)
Replace of_get_address() and of_translate_address() calls with single
call to of_address_to_resource().

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20230319163220.226273-1-robh@kernel.org
drivers/clocksource/timer-ti-dm-systimer.c

index 632523c1232f6513c56de7eb36f77f604de386f8..3b98a3c04f871daa2138377f1b2ae1eacf42b505 100644 (file)
@@ -251,24 +251,22 @@ static void __init dmtimer_systimer_assign_alwon(void)
                counter_32k = -ENODEV;
 
        for_each_matching_node(np, dmtimer_match_table) {
+               struct resource res;
                if (!dmtimer_is_preferred(np))
                        continue;
 
-               if (of_property_read_bool(np, "ti,timer-alwon")) {
-                       const __be32 *addr;
-
-                       addr = of_get_address(np, 0, NULL, NULL);
-                       pa = of_translate_address(np, addr);
-                       if (pa) {
-                               /* Quirky omap3 boards must use dmtimer12 */
-                               if (quirk_unreliable_oscillator &&
-                                   pa == 0x48318000)
-                                       continue;
-
-                               of_node_put(np);
-                               break;
-                       }
-               }
+               if (!of_property_read_bool(np, "ti,timer-alwon"))
+                       continue;
+
+               if (of_address_to_resource(np, 0, &res))
+                       continue;
+
+               /* Quirky omap3 boards must use dmtimer12 */
+               if (quirk_unreliable_oscillator && res.start == 0x48318000)
+                       continue;
+
+               of_node_put(np);
+               break;
        }
 
        /* Usually no need for dmtimer clocksource if we have counter32 */
@@ -285,24 +283,22 @@ static void __init dmtimer_systimer_assign_alwon(void)
 static u32 __init dmtimer_systimer_find_first_available(void)
 {
        struct device_node *np;
-       const __be32 *addr;
        u32 pa = 0;
 
        for_each_matching_node(np, dmtimer_match_table) {
+               struct resource res;
                if (!dmtimer_is_preferred(np))
                        continue;
 
-               addr = of_get_address(np, 0, NULL, NULL);
-               pa = of_translate_address(np, addr);
-               if (pa) {
-                       if (pa == clocksource || pa == clockevent) {
-                               pa = 0;
-                               continue;
-                       }
-
-                       of_node_put(np);
-                       break;
-               }
+               if (of_address_to_resource(np, 0, &res))
+                       continue;
+
+               if (res.start == clocksource || res.start == clockevent)
+                       continue;
+
+               pa = res.start;
+               of_node_put(np);
+               break;
        }
 
        return pa;
@@ -812,7 +808,7 @@ err_out_free:
  */
 static int __init dmtimer_systimer_init(struct device_node *np)
 {
-       const __be32 *addr;
+       struct resource res;
        u32 pa;
 
        /* One time init for the preferred timer configuration */
@@ -826,8 +822,9 @@ static int __init dmtimer_systimer_init(struct device_node *np)
                return -EINVAL;
        }
 
-       addr = of_get_address(np, 0, NULL, NULL);
-       pa = of_translate_address(np, addr);
+
+       of_address_to_resource(np, 0, &res);
+       pa = (u32)res.start;
        if (!pa)
                return -EINVAL;