[PATCH] clk: bail out early when rate is already desired one

Sascha Hauer s.hauer at pengutronix.de
Mon Jun 7 07:12:56 PDT 2021


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 <s.hauer at pengutronix.de>
---
 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




More information about the barebox mailing list