summaryrefslogtreecommitdiffstats
path: root/drivers/clk/at91
diff options
context:
space:
mode:
authorAlexandre Belloni2017-05-12 16:25:30 +0200
committerStephen Boyd2017-06-01 09:47:50 +0200
commit8e56133e5c7b7a7a97f6a92d92f664d5ecd30745 (patch)
treea780a6e342717d7df517def12298dc81b26746a2 /drivers/clk/at91
parentclk: imx7d: Fix the powerdown bit location of PLL DDR (diff)
downloadkernel-qcow2-linux-8e56133e5c7b7a7a97f6a92d92f664d5ecd30745.tar.gz
kernel-qcow2-linux-8e56133e5c7b7a7a97f6a92d92f664d5ecd30745.tar.xz
kernel-qcow2-linux-8e56133e5c7b7a7a97f6a92d92f664d5ecd30745.zip
clk: at91: fix clk-generated parenting
clk_generated_startup is called after clk_hw_register. So the first call to get_parent will not have the correct value (i.e. 0) and because this is cached, it may never be updated. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Fixes: df70aeef6083 ("clk: at91: add generated clock driver") Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'drivers/clk/at91')
-rw-r--r--drivers/clk/at91/clk-generated.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/clk/at91/clk-generated.c b/drivers/clk/at91/clk-generated.c
index 4e1cd5aa69d8..70474bd97a10 100644
--- a/drivers/clk/at91/clk-generated.c
+++ b/drivers/clk/at91/clk-generated.c
@@ -260,13 +260,12 @@ at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock,
gck->lock = lock;
gck->range = *range;
+ clk_generated_startup(gck);
hw = &gck->hw;
ret = clk_hw_register(NULL, &gck->hw);
if (ret) {
kfree(gck);
hw = ERR_PTR(ret);
- } else
- clk_generated_startup(gck);
return hw;
}