diff mbox series

[v2] clk: davinci: Use of_get_available_child_by_name()

Message ID 20250407093623.36974-1-biju.das.jz@bp.renesas.com (mailing list archive)
State Under Review
Headers show
Series [v2] clk: davinci: Use of_get_available_child_by_name() | expand

Commit Message

Biju Das April 7, 2025, 9:36 a.m. UTC
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.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v1->v2:
 * Rebased to next as the dependency patch hits on 6.15-rc1.
---
 drivers/clk/davinci/pll.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

Comments

David Lechner April 8, 2025, 2:25 p.m. UTC | #1
On 4/7/25 4:36 AM, Biju Das wrote:
> 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.
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> v1->v2:
>  * Rebased to next as the dependency patch hits on 6.15-rc1.
> ---

Reviewed-by: David Lechner <david@lechnology.com>

>  drivers/clk/davinci/pll.c | 23 ++++++++++++-----------
>  1 file changed, 12 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/clk/davinci/pll.c b/drivers/clk/davinci/pll.c
> index 6807a2efa93b..a236dfeccdb1 100644
> --- a/drivers/clk/davinci/pll.c
> +++ b/drivers/clk/davinci/pll.c
> @@ -763,13 +763,13 @@ 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);

It is a bit odd to move the other of_node_put() inside the if but not this one.
Biju Das April 9, 2025, 2:03 p.m. UTC | #2
Hi David Lechner,

> -----Original Message-----
> From: David Lechner <david@lechnology.com>
> Sent: 08 April 2025 15:26
> Subject: Re: [PATCH v2] clk: davinci: Use of_get_available_child_by_name()
> 
> On 4/7/25 4:36 AM, Biju Das wrote:
> > 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.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > v1->v2:
> >  * Rebased to next as the dependency patch hits on 6.15-rc1.
> > ---
> 
> Reviewed-by: David Lechner <david@lechnology.com>
> 
> >  drivers/clk/davinci/pll.c | 23 ++++++++++++-----------
> >  1 file changed, 12 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/clk/davinci/pll.c b/drivers/clk/davinci/pll.c
> > index 6807a2efa93b..a236dfeccdb1 100644
> > --- a/drivers/clk/davinci/pll.c
> > +++ b/drivers/clk/davinci/pll.c
> > @@ -763,13 +763,13 @@ 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);
> 
> It is a bit odd to move the other of_node_put() inside the if but not this one.

Yes, it can also move inside if.

Cheers,
Biju
diff mbox series

Patch

diff --git a/drivers/clk/davinci/pll.c b/drivers/clk/davinci/pll.c
index 6807a2efa93b..a236dfeccdb1 100644
--- a/drivers/clk/davinci/pll.c
+++ b/drivers/clk/davinci/pll.c
@@ -763,13 +763,13 @@  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 +803,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 +818,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 +834,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;
 }