clk: mvebu: fix setting unwanted flags in CP110 gate clock
authorMarcin Wojtas <mw@semihalf.com>
Wed, 21 Sep 2016 09:05:57 +0000 (11:05 +0200)
committerStephen Boyd <sboyd@codeaurora.org>
Thu, 22 Sep 2016 23:04:40 +0000 (16:04 -0700)
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>
CC: <stable@vger.kernel.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/mvebu/cp110-system-controller.c

index 7fa42d6..59fe76e 100644 (file)
@@ -142,6 +142,8 @@ static struct clk *cp110_register_gate(const char *name,
        if (!gate)
                return ERR_PTR(-ENOMEM);
 
+       memset(&init, 0, sizeof(init));
+
        init.name = name;
        init.ops = &cp110_gate_ops;
        init.parent_names = &parent_name;