mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 14:41:27 +00:00
clk: clk_set_rate() must fail if CLK_SET_RATE_GATE is set and clk is enabled
This is well documented but isn't implemented. clk_set_rate() must check if flags have CLK_SET_RATE_GATE bit set and is enabled too. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Signed-off-by: Mike Turquette <mturquette@linaro.org>
This commit is contained in:
parent
0197b3ea0f
commit
0e1c030175
1 changed files with 5 additions and 0 deletions
|
@ -900,6 +900,11 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
|
||||||
if (rate == clk->rate)
|
if (rate == clk->rate)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
if ((clk->flags & CLK_SET_RATE_GATE) && __clk_is_enabled(clk)) {
|
||||||
|
ret = -EBUSY;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
/* calculate new rates and get the topmost changed clock */
|
/* calculate new rates and get the topmost changed clock */
|
||||||
top = clk_calc_new_rates(clk, rate);
|
top = clk_calc_new_rates(clk, rate);
|
||||||
if (!top) {
|
if (!top) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue