As it is visible clk_get_rate() is returning ulong: ulong clk_get_rate(struct clk *clk);
Also struct clk_ops is defining it as ulong (*get_rate)(struct clk *clk); That's why return 0 rate when ops->get_rate is not implemented which is the same value as is return when clock is not valid. Signed-off-by: Michal Simek <[email protected]> --- Another alternative is obviously also return only long and fix all get_rate calls. --- drivers/clk/clk-uclass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c index 4420651f765c..bca818530d4c 100644 --- a/drivers/clk/clk-uclass.c +++ b/drivers/clk/clk-uclass.c @@ -490,7 +490,7 @@ ulong clk_get_rate(struct clk *clk) ops = clk_dev_ops(clk->dev); if (!ops->get_rate) - return -ENOSYS; + return 0; return ops->get_rate(clk); } -- 2.43.0 base-commit: e1082054610fe73d4487d12f4274315030592c77 branch: debian-sent3

