Re: [PATCH v5 5/7] clk: Use the generic OF phandle parsing in only one place

Frank Li <[email protected]>
Newsgroups org.kernel.vger.linux-kselftest,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <anYHQWEExCgBHtbo@SMW015318>
On Fri, Aug 07, 2026 at 05:24:06PM +0200, Miquel Raynal (Schneider Electric) wrote:
> Ideally, there should be one single entry in the OF world. This way, the
> DT parsing logic is always identical. At this stage, we call
> of_parse_phandle_with_args() in:
> - of_parse_clkspec()
> - of_clk_get_parent_name()
> which kinds of defeats the above statement. Furthermore, when this call
> is done from of_clk_get_parent_name(), we fail to parse the
> 'clock-ranges' property.
>
> Make sure DT world is entered only once by calling of_parse_clkspec()
> from of_clk_get_parent_name(). Doing so implies that we do not try the
> "clock-ranges" path if we already found a "clocks" property.
>
> Suggested-by: Stephen Boyd <[email protected]>
> Fixes: 4472287a3b2f5 ("clk: Introduce of_clk_get_hw_from_clkspec()")
> Signed-off-by: Miquel Raynal (Schneider Electric) <[email protected]>
> Reviewed-by: Brian Masney <[email protected]>
> ---

Reviewed-by: Frank Li <[email protected]>

>  drivers/clk/clk.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> index 7d63d81ebc09..45f5d7a4ccc1 100644
> --- a/drivers/clk/clk.c
> +++ b/drivers/clk/clk.c
> @@ -5219,6 +5219,8 @@ static int of_parse_clkspec(const struct device_node *np, int index,
>  		 * has a "clock-ranges" property, then we can try one of its
>  		 * clocks.
>  		 */
> +		if (of_property_present(np, "clocks"))
> +			break;
>  		np = np->parent;
>  		if (np && !of_property_present(np, "clock-ranges"))
>  			break;
> @@ -5364,8 +5366,7 @@ const char *of_clk_get_parent_name(const struct device_node *np, int index)
>  	int count;
>  	struct clk *clk;
>
> -	rc = of_parse_phandle_with_args(np, "clocks", "#clock-cells", index,
> -					&clkspec);
> +	rc = of_parse_clkspec(np, index, NULL, &clkspec);
>  	if (rc)
>  		return NULL;
>
>
> --
> 2.54.0
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.