clk: davinci: Use of_get_available_child_by_name()
authorBiju Das <biju.das.jz@bp.renesas.com>
Thu, 10 Apr 2025 06:20:38 +0000 (07:20 +0100)
committerStephen Boyd <sboyd@kernel.org>
Tue, 6 May 2025 21:46:00 +0000 (14:46 -0700)
Simplify of_davinci_pll_init() by using of_get_available_child_by_name().

While at it, move of_node_put(child) inside the if block to avoid
additional check if of_child is NULL.

Reviewed-by: David Lechner <david@lechnology.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20250410062040.6346-1-biju.das.jz@bp.renesas.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/davinci/pll.c

index 6807a2efa93b30c34436c9ee996e5bf317e3b5c0..bfb6bbdc036c169d5e14b05cbc1df99862fef434 100644 (file)
@@ -763,13 +763,14 @@ int of_davinci_pll_init(struct device *dev, struct device_node *node,
                return PTR_ERR(clk);
        }
 
-       child = of_get_child_by_name(node, "pllout");
-       if (of_device_is_available(child))
+       child = of_get_available_child_by_name(node, "pllout");
+       if (child) {
                of_clk_add_provider(child, of_clk_src_simple_get, clk);
-       of_node_put(child);
+               of_node_put(child);
+       }
 
-       child = of_get_child_by_name(node, "sysclk");
-       if (of_device_is_available(child)) {
+       child = of_get_available_child_by_name(node, "sysclk");
+       if (child) {
                struct clk_onecell_data *clk_data;
                struct clk **clks;
                int n_clks =  max_sysclk_id + 1;
@@ -803,11 +804,11 @@ int of_davinci_pll_init(struct device *dev, struct device_node *node,
                                clks[(*div_info)->id] = clk;
                }
                of_clk_add_provider(child, of_clk_src_onecell_get, clk_data);
+               of_node_put(child);
        }
-       of_node_put(child);
 
-       child = of_get_child_by_name(node, "auxclk");
-       if (of_device_is_available(child)) {
+       child = of_get_available_child_by_name(node, "auxclk");
+       if (child) {
                char child_name[MAX_NAME_SIZE];
 
                snprintf(child_name, MAX_NAME_SIZE, "%s_auxclk", info->name);
@@ -818,11 +819,12 @@ int of_davinci_pll_init(struct device *dev, struct device_node *node,
                                 child_name, PTR_ERR(clk));
                else
                        of_clk_add_provider(child, of_clk_src_simple_get, clk);
+
+               of_node_put(child);
        }
-       of_node_put(child);
 
-       child = of_get_child_by_name(node, "obsclk");
-       if (of_device_is_available(child)) {
+       child = of_get_available_child_by_name(node, "obsclk");
+       if (child) {
                if (obsclk_info)
                        clk = davinci_pll_obsclk_register(dev, obsclk_info, base);
                else
@@ -833,8 +835,8 @@ int of_davinci_pll_init(struct device *dev, struct device_node *node,
                                 PTR_ERR(clk));
                else
                        of_clk_add_provider(child, of_clk_src_simple_get, clk);
+               of_node_put(child);
        }
-       of_node_put(child);
 
        return 0;
 }