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