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

Reply via email to