diff options
author | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2017-05-12 16:25:30 +0200 |
---|---|---|
committer | Stephen Boyd <sboyd@codeaurora.org> | 2017-06-01 00:47:50 -0700 |
commit | 8e56133e5c7b7a7a97f6a92d92f664d5ecd30745 (patch) | |
tree | a780a6e342717d7df517def12298dc81b26746a2 /drivers | |
parent | ad14972422899b620fb594789824f0871dfb788c (diff) |
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')
-rw-r--r-- | drivers/clk/at91/clk-generated.c | 3 |
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; } |