]> git.baikalelectronics.ru Git - kernel.git/commit
clk: Drop the rate range on clk_put()
authorMaxime Ripard <maxime@cerno.tech>
Fri, 25 Mar 2022 16:11:44 +0000 (17:11 +0100)
committerStephen Boyd <sboyd@kernel.org>
Fri, 25 Mar 2022 23:55:51 +0000 (16:55 -0700)
commit0bc6a8728d95e710c7f6cb09aa25958dfa6f63db
tree77beb2b4bb80e5a13d5f9a6f6d6f1c4f98174f05
parent60c26f1facd59edfb0fc58bf4bde2ddbb17b3e2c
clk: Drop the rate range on clk_put()

When clk_put() is called we don't make another clk_set_rate() call to
re-evaluate the rate boundaries. This is unlike clk_set_rate_range()
that evaluates the rate again each time it is called.

However, clk_put() is essentially equivalent to clk_set_rate_range()
since after clk_put() completes the consumer's boundaries shouldn't be
enforced anymore.

Let's add a call to clk_set_rate_range() in clk_put() to make sure those
rate boundaries are dropped and the clock provider drivers can react.

Also add a few tests to make sure this case is covered.

Fixes: 757ba29484fa ("clk: Always set the rate on clk_set_range_rate")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20220325161144.1901695-4-maxime@cerno.tech
[sboyd@kernel.org: Reword commit text]
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk.c
drivers/clk/clk_test.c