Commit 073a01e8 authored by Peng Fan's avatar Peng Fan Committed by Shawn Guo

clk: imx: clk-composite-8m: add lock to gate/mux

There is a lock to divider in the composite driver, but that's not
enough. lock to gate/mux are also needed to provide exclusive access
to the register.

Fixes: d3ff9728 ("clk: imx: Add imx composite clock")
Signed-off-by: default avatarPeng Fan <peng.fan@nxp.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent e42617b8
...@@ -142,6 +142,7 @@ struct clk *imx8m_clk_composite_flags(const char *name, ...@@ -142,6 +142,7 @@ struct clk *imx8m_clk_composite_flags(const char *name,
mux->reg = reg; mux->reg = reg;
mux->shift = PCG_PCS_SHIFT; mux->shift = PCG_PCS_SHIFT;
mux->mask = PCG_PCS_MASK; mux->mask = PCG_PCS_MASK;
mux->lock = &imx_ccm_lock;
div = kzalloc(sizeof(*div), GFP_KERNEL); div = kzalloc(sizeof(*div), GFP_KERNEL);
if (!div) if (!div)
...@@ -161,6 +162,7 @@ struct clk *imx8m_clk_composite_flags(const char *name, ...@@ -161,6 +162,7 @@ struct clk *imx8m_clk_composite_flags(const char *name,
gate_hw = &gate->hw; gate_hw = &gate->hw;
gate->reg = reg; gate->reg = reg;
gate->bit_idx = PCG_CGC_SHIFT; gate->bit_idx = PCG_CGC_SHIFT;
gate->lock = &imx_ccm_lock;
hw = clk_hw_register_composite(NULL, name, parent_names, num_parents, hw = clk_hw_register_composite(NULL, name, parent_names, num_parents,
mux_hw, &clk_mux_ops, div_hw, mux_hw, &clk_mux_ops, div_hw,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment