On 2/9/26 11:53 PM, Tom Rini wrote:
On Mon, Feb 09, 2026 at 10:46:03PM +0100, Marek Vasut wrote:
On 2/9/26 9:51 PM, Tom Rini wrote:
On Mon, Feb 09, 2026 at 09:35:54PM +0100, Marek Vasut wrote:
On 2/9/26 9:14 PM, Jonas Karlman wrote:
clk_get_rate() in U-Boot is documented to return clock rate on success,
0 for invalid clock and -ve error code for other errors. This differ
slightly from Linux where only >= 0 is returned from clk_get_rate().

Some clock drivers take advantage of this difference and may return -ve
error code for clocks not fully supported in U-Boot.

Use IS_ERR_VALUE() to check for an error code in addition to current
invalid clock check to fix broken and unpredicted behavior when clock
driver returns a -ve error code for the ref_clk.

Signed-off-by: Jonas Karlman <[email protected]>
I wonder if it would be better to fix the API discrepancy . Could you try
that instead ?

Which API discrepancy? clk_get_rate behaves the way it behaves
intentionally and there's some fairly long and recent threads about that
resulting from attepmts to change that.
Align clk_get_rate() between U-Boot and Linux kind of discrepancy .

That's not in the current list of options. Please look at the various
threads in the past 6-8 months (and some reverts about series that tried
this). That was my initial opinion too, FWIW.
Can you please elaborate WHY clk_get_rate() cannot behave the same way between U-Boot and Linux ? It is confusing to users and it is a source of bugs, this should be fixed.

Reply via email to