summaryrefslogtreecommitdiffstats
path: root/drivers/clk/st/clk-flexgen.c
diff options
context:
space:
mode:
authorLinus Torvalds2015-07-11 20:08:21 +0200
committerLinus Torvalds2015-07-11 20:08:21 +0200
commit4322f028477d4c84f12fa9aa21809300855ff953 (patch)
tree2bd04720eee37e10b7447eb068c8df8c337ea055 /drivers/clk/st/clk-flexgen.c
parentMerge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux (diff)
parentdrivers: clk: st: Incorrect register offset used for lock_status (diff)
downloadkernel-qcow2-linux-4322f028477d4c84f12fa9aa21809300855ff953.tar.gz
kernel-qcow2-linux-4322f028477d4c84f12fa9aa21809300855ff953.tar.xz
kernel-qcow2-linux-4322f028477d4c84f12fa9aa21809300855ff953.zip
Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clk fixes from Stephen Boyd: "A small set of fixes for problems found by smatch in new drivers that we added this rc and a handful of driver fixes that came in during the merge window" * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: drivers: clk: st: Incorrect register offset used for lock_status clk: mediatek: mt8173: Fix enabling of critical clocks drivers: clk: st: Fix mux bit-setting for Cortex A9 clocks drivers: clk: st: Add CLK_GET_RATE_NOCACHE flag to clocks drivers: clk: st: Fix flexgen lock init drivers: clk: st: Fix FSYN channel values drivers: clk: st: Remove unused code clk: qcom: Use parent rate when set rate to pixel RCG clock clk: at91: do not leak resources clk: stm32: Fix out-by-one error path in the index lookup clk: iproc: fix bit manipulation arithmetic clk: iproc: fix memory leak from clock name
Diffstat (limited to 'drivers/clk/st/clk-flexgen.c')
-rw-r--r--drivers/clk/st/clk-flexgen.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/clk/st/clk-flexgen.c b/drivers/clk/st/clk-flexgen.c
index 657ca14ba709..8dd8cce27361 100644
--- a/drivers/clk/st/clk-flexgen.c
+++ b/drivers/clk/st/clk-flexgen.c
@@ -190,7 +190,7 @@ static struct clk *clk_register_flexgen(const char *name,
init.name = name;
init.ops = &flexgen_ops;
- init.flags = CLK_IS_BASIC | flexgen_flags;
+ init.flags = CLK_IS_BASIC | CLK_GET_RATE_NOCACHE | flexgen_flags;
init.parent_names = parent_names;
init.num_parents = num_parents;
@@ -303,6 +303,8 @@ static void __init st_of_flexgen_setup(struct device_node *np)
if (!rlock)
goto err;
+ spin_lock_init(rlock);
+
for (i = 0; i < clk_data->clk_num; i++) {
struct clk *clk;
const char *clk_name;