| From ad715b268a501533ecb2e891a624841d1bb5137c Mon Sep 17 00:00:00 2001 |
| From: Marcin Wojtas <mw@semihalf.com> |
| Date: Wed, 21 Sep 2016 11:05:57 +0200 |
| Subject: clk: mvebu: fix setting unwanted flags in CP110 gate clock |
| |
| From: Marcin Wojtas <mw@semihalf.com> |
| |
| commit ad715b268a501533ecb2e891a624841d1bb5137c upstream. |
| |
| Armada CP110 system controller comprises its own routine responsble |
| for registering gate clocks. Among others 'flags' field in |
| struct clk_init_data was not set, using a random values, which |
| may cause an unpredicted behavior. |
| |
| This patch fixes the problem by resetting all fields of clk_init_data |
| before assigning values for all gated clocks of Armada 7k/8k SoCs family. |
| |
| Fixes: d3da3eaef7f4 ("clk: mvebu: new driver for Armada CP110 system ...") |
| Signed-off-by: Marcin Wojtas <mw@semihalf.com> |
| Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/clk/mvebu/cp110-system-controller.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/clk/mvebu/cp110-system-controller.c |
| +++ b/drivers/clk/mvebu/cp110-system-controller.c |
| @@ -142,6 +142,8 @@ static struct clk *cp110_register_gate(c |
| if (!gate) |
| return ERR_PTR(-ENOMEM); |
| |
| + memset(&init, 0, sizeof(init)); |
| + |
| init.name = name; |
| init.ops = &cp110_gate_ops; |
| init.parent_names = &parent_name; |