mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
clk: zynqmp: Make sure clk_init_data is fully initialized
The clk_init_data structure contains several mutually-exclusive members for different methods to specify the possible parents of a clock, prompting drivers to initialize only the members they need. However, not initializing all members may cause subtle issues, which are only exposed when CONFIG_INIT_STACK_ALL_PATTERN or CONFIG_INIT_STACK_NONE is enabled. Make sure all members are fully initialized, to avoid such bugs, and to prevent future breakage when converting drivers to a different method for specifying the parents. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Message-ID: <ca5b863571e9e21d123ab95cd5667b19f0d14d96.1787239813.git.geert+renesas@glider.be> Signed-off-by: Brian Masney <bmasney@redhat.com>
This commit is contained in:
parent
c0d0fe4ccf
commit
4fbb1d7c25
|
|
@ -109,10 +109,10 @@ struct clk_hw *zynqmp_clk_register_gate(const char *name, u32 clk_id,
|
|||
u8 num_parents,
|
||||
const struct clock_topology *nodes)
|
||||
{
|
||||
struct clk_init_data init = {};
|
||||
struct zynqmp_clk_gate *gate;
|
||||
struct clk_hw *hw;
|
||||
int ret;
|
||||
struct clk_init_data init;
|
||||
|
||||
/* allocate the gate */
|
||||
gate = kzalloc_obj(*gate);
|
||||
|
|
|
|||
|
|
@ -133,9 +133,9 @@ struct clk_hw *zynqmp_clk_register_mux(const char *name, u32 clk_id,
|
|||
u8 num_parents,
|
||||
const struct clock_topology *nodes)
|
||||
{
|
||||
struct clk_init_data init = {};
|
||||
struct zynqmp_clk_mux *mux;
|
||||
struct clk_hw *hw;
|
||||
struct clk_init_data init;
|
||||
int ret;
|
||||
|
||||
mux = kzalloc_obj(*mux);
|
||||
|
|
|
|||
|
|
@ -278,9 +278,9 @@ struct clk_hw *zynqmp_clk_register_divider(const char *name,
|
|||
u8 num_parents,
|
||||
const struct clock_topology *nodes)
|
||||
{
|
||||
struct clk_init_data init = {};
|
||||
struct zynqmp_clk_divider *div;
|
||||
struct clk_hw *hw;
|
||||
struct clk_init_data init;
|
||||
int ret;
|
||||
|
||||
/* allocate the divider */
|
||||
|
|
|
|||
|
|
@ -313,9 +313,9 @@ struct clk_hw *zynqmp_clk_register_pll(const char *name, u32 clk_id,
|
|||
u8 num_parents,
|
||||
const struct clock_topology *nodes)
|
||||
{
|
||||
struct clk_init_data init = {};
|
||||
struct zynqmp_pll *pll;
|
||||
struct clk_hw *hw;
|
||||
struct clk_init_data init;
|
||||
int ret;
|
||||
|
||||
init.name = name;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user