| Message ID | fa00846b4f9e3b91d3cbcb21cd27be7697b3994e.1787239813.git.geert+renesas@glider.be |
|---|---|
| State | New |
| Headers | show |
| Series | clk: Make sure clk_init_data is fully initialized (part two) | expand |
On 8/21/26 11:53, Geert Uytterhoeven wrote: > 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> > --- > Compile-tested only. > --- > drivers/clk/nxp/clk-lpc18xx-creg.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/nxp/clk-lpc18xx-creg.c b/drivers/clk/nxp/clk-lpc18xx-creg.c > index 3d3982e9c661a5c2..de3c214a80fcf903 100644 > --- a/drivers/clk/nxp/clk-lpc18xx-creg.c > +++ b/drivers/clk/nxp/clk-lpc18xx-creg.c > @@ -138,7 +138,7 @@ static struct clk *clk_register_creg_clk(struct device *dev, > const char **parent_name, > struct regmap *syscon) > { > - struct clk_init_data init; > + struct clk_init_data init = {}; > > init.ops = creg_clk->ops; > init.name = creg_clk->name; Reviewed-by: Vladimir Zapolskiy <vz@mleia.com>
diff --git a/drivers/clk/nxp/clk-lpc18xx-creg.c b/drivers/clk/nxp/clk-lpc18xx-creg.c index 3d3982e9c661a5c2..de3c214a80fcf903 100644 --- a/drivers/clk/nxp/clk-lpc18xx-creg.c +++ b/drivers/clk/nxp/clk-lpc18xx-creg.c @@ -138,7 +138,7 @@ static struct clk *clk_register_creg_clk(struct device *dev, const char **parent_name, struct regmap *syscon) { - struct clk_init_data init; + struct clk_init_data init = {}; init.ops = creg_clk->ops; init.name = creg_clk->name;
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> --- Compile-tested only. --- drivers/clk/nxp/clk-lpc18xx-creg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)