Return successfully from clk_set_rate() when the rate is already the
desired one. This prevents a failure in clk_set_rate() when the current
clock doesn't have a set_rate hook.

Signed-off-by: Sascha Hauer <[email protected]>
---
 drivers/clk/clk.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 8b90f30486..ba726c342c 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -169,6 +169,9 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
        if (IS_ERR(clk))
                return PTR_ERR(clk);
 
+       if (clk_get_rate(clk) == clk_round_rate(clk, rate))
+               return 0;
+
        if (!clk->ops->set_rate)
                return -ENOSYS;
 
-- 
2.29.2


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to