Commit 6064cfaa authored by Biju Das's avatar Biju Das Committed by Stephen Boyd
Browse files

clk: davinci: Use of_get_available_child_by_name()



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: default avatarDavid Lechner <david@lechnology.com>
Signed-off-by: default avatarBiju 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: default avatarStephen Boyd <sboyd@kernel.org>
parent 73c46d9a
Loading
Loading
Loading
Loading
+14 −12
Original line number Diff line number Diff line
@@ -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);
	}

	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);
	}

	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);
	}

	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);
	}

	return 0;
}