aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Brezillon <boris.brezillon@free-electrons.com>2016-07-18 03:49:12 -0400
committerMichael Turquette <mturquette@baylibre.com>2016-07-18 20:45:41 -0400
commitf96423f483b1a7854270335b319e8d1cdd6f3585 (patch)
tree15cbcba2a4262a9c78953ce9a2cb9bd8322bedfc
parent9d6928639134cff896a92f8ff7fad14370e88d3c (diff)
clk: at91: fix clk_programmable_set_parent()
Since commit 1bdf02326b71e ("clk: at91: make use of syscon/regmap internally"), clk_programmable_set_parent() is always selecting the first parent (AKA slow_clk), no matter what's passed in the 'index' parameter. Fix that by initializing the pckr variable to the index value. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Reported-by: Hans Verkuil <hans.verkuil@cisco.com> Fixes: 1bdf02326b71e ("clk: at91: make use of syscon/regmap internally") Cc: <stable@vger.kernel.org> Signed-off-by: Michael Turquette <mturquette@baylibre.com> Link: lkml.kernel.org/r/1468828152-18389-1-git-send-email-boris.brezillon@free-electrons.com
-rw-r--r--drivers/clk/at91/clk-programmable.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/clk/at91/clk-programmable.c b/drivers/clk/at91/clk-programmable.c
index 10f846cc8db1..25d5906640c3 100644
--- a/drivers/clk/at91/clk-programmable.c
+++ b/drivers/clk/at91/clk-programmable.c
@@ -99,7 +99,7 @@ static int clk_programmable_set_parent(struct clk_hw *hw, u8 index)
99 struct clk_programmable *prog = to_clk_programmable(hw); 99 struct clk_programmable *prog = to_clk_programmable(hw);
100 const struct clk_programmable_layout *layout = prog->layout; 100 const struct clk_programmable_layout *layout = prog->layout;
101 unsigned int mask = layout->css_mask; 101 unsigned int mask = layout->css_mask;
102 unsigned int pckr = 0; 102 unsigned int pckr = index;
103 103
104 if (layout->have_slck_mck) 104 if (layout->have_slck_mck)
105 mask |= AT91_PMC_CSSMCK_MCK; 105 mask |= AT91_PMC_CSSMCK_MCK;