[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <175398035351.3513.14541914855277799230@lazor>
Date: Thu, 31 Jul 2025 09:45:53 -0700
From: Stephen Boyd <sboyd@...nel.org>
To: Chuan Liu via B4 Relay <devnull+chuan.liu.amlogic.com@...nel.org>, Michael Turquette <mturquette@...libre.com>, chuan.liu@...ogic.com
Cc: linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org, Chuan Liu <chuan.liu@...ogic.com>
Subject: Re: [PATCH] clk: Add fault tolerance to of_clk_hw_onecell_get()
Quoting Chuan Liu via B4 Relay (2025-07-31 05:39:58)
> From: Chuan Liu <chuan.liu@...ogic.com>
>
> In specific cases, even a clk_provider managing only a single clock may
> reference of_clk_hw_onecell_get() to access its member clocks, as seen
> in implementations like clk-scmi.
>
> For a clk_provider with only one clock, when calling
> of_parse_phandle_with_args(), the phandle_args->args[] members are not
> assigned. In this case, the reference to phandle_args->args[0] in
> of_clk_hw_onecell_get() becomes invalid. If phandle_args->args[0]
> initially contains a non-zero value, this will trigger an error.
>
> Signed-off-by: Chuan Liu <chuan.liu@...ogic.com>
> ---
> Error conditions observed:
>
> scmi_clk: protocol@14 {
> reg = <0x14>;
> #clock-cells = <0>;
> };
>
> phandle1: clock-controller@1 {
> #clock-cells = <1>;
> }
>
> clock-consumer@2 {
> assigned-clocks = <&phandle1 1>,
> <&scmi_clk>;
> assigned-clock-rates = <xxx>,
> <xxx>;
> }
>
> Under these conditions, executing of_clk_set_defaults() triggers the
> error: 'of_clk_hw_onecell_get: invalid index 1'.
Please write a KUnit test.
Powered by blists - more mailing lists