projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e73f0f0
)
clk: at91: clk-generated: Limit the requested rate to our range
author
Codrin Ciubotariu
<codrin.ciubotariu@microchip.com>
Wed, 7 Jul 2021 13:12:13 +0000
(16:12 +0300)
committer
Stephen Boyd
<sboyd@kernel.org>
Sun, 29 Aug 2021 05:28:24 +0000
(22:28 -0700)
On clk_generated_determine_rate(), the requested rate could be outside
of clk's range. Limit the rate to the clock's range to not return an
error.
Fixes:
df70aeef6083
("clk: at91: add generated clock driver")
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Link:
https://lore.kernel.org/r/20210707131213.3283509-1-codrin.ciubotariu@microchip.com
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/at91/clk-generated.c
patch
|
blob
|
history
diff --git
a/drivers/clk/at91/clk-generated.c
b/drivers/clk/at91/clk-generated.c
index
b4fc8d7
..
b656d25
100644
(file)
--- a/
drivers/clk/at91/clk-generated.c
+++ b/
drivers/clk/at91/clk-generated.c
@@
-128,6
+128,12
@@
static int clk_generated_determine_rate(struct clk_hw *hw,
int i;
u32 div;
+ /* do not look for a rate that is outside of our range */
+ if (gck->range.max && req->rate > gck->range.max)
+ req->rate = gck->range.max;
+ if (gck->range.min && req->rate < gck->range.min)
+ req->rate = gck->range.min;
+
for (i = 0; i < clk_hw_get_num_parents(hw); i++) {
if (gck->chg_pid == i)
continue;