clk: nxp: lpc18xx: Initialize clk_init_data::flags to 0
Failure to initialize this flag to 0 by default can result in
stack junk filling the clk_init_data structure and weird things
happen. Joachim noticed that the critical clk feature started
triggering for these clks causing boot failures, when it really
shouldn't have happened:
BUG: scheduling while atomic: swapper/0/0x00000002
CPU: 0 PID: 0 Comm: swapper Not tainted
4.6.0-rc6-next-
20160505-00001-g5c8320450d1c #826
Hardware name: NXP LPC18xx/43xx (Device Tree)
[<
2800be81>] (unwind_backtrace) from [<
2800b22f>] (show_stack+0xb/0xc)
[<
2800b22f>] (show_stack) from [<
2801ea21>] (__schedule_bug+0x2d/0x44)
[<
2801ea21>] (__schedule_bug) from [<
281dc937>] (__schedule+0x3b/0x268)
[<
281dc937>] (__schedule) from [<
281dcbbb>] (schedule+0x57/0x64)
[<
281dcbbb>] (schedule) from [<
281de8ef>] (schedule_timeout+0xfb/0x120)
[<
281de8ef>] (schedule_timeout) from [<
28030fcd>] (msleep+0xf/0x12)
[<
28030fcd>] (msleep) from [<
28165a6d>] (clk_creg_32k_prepare+0x1f/0x24)
[<
28165a6d>] (clk_creg_32k_prepare) from [<
281620d5>]
(clk_core_prepare+0x1d/0x36)
[<
281620d5>] (clk_core_prepare) from [<
2816340b>] (clk_register+0x22f/0x318)
[<
2816340b>] (clk_register) from [<
282b06c9>] (lpc18xx_creg_clk_init+0x55/0x84)
[<
282b06c9>] (lpc18xx_creg_clk_init) from [<
282b0149>] (of_clk_init+0xc1/0x12c)
[<
282b0149>] (of_clk_init) from [<
282a665d>] (time_init+0x15/0x20)
[<
282a665d>] (time_init) from [<
282a457d>] (start_kernel+0x169/0x274)
[<
282a457d>] (start_kernel) from [<
28008025>] (0x28008025)
bad: scheduling from the idle thread!
CPU: 0 PID: 0 Comm: swapper Tainted: G W
4.6.0-rc6-next-
20160505-00001-g5c8320450d1c #826
Fix this by initializing the flags member to 0.
Acked-by: Joachim Eastwood <manabian@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>