[PATCH treewide 0/5] clk: Make sure clk_init_data is fully initialized (part 1)

From: Geert Uytterhoeven

Date: Wed Aug 19 2026 - 15:07:45 EST


Hi all,

The clk_init_data structure contains three mutually-exclusive members
for different methods to specify the possible parents of a clock,
prompting drivers to initialize only the members they need. When commit
fc0c209c147f35ed ("clk: Allow parents to be specified without string
names") added the last two methods, this was done in a
backwards-compatible way, using a priority-based scheme:
- .name, .ops, .num_parents, and .flags must always be initialized,
- if .num_parents is non-zero, .parent_names must be initialized,
- if .parent_names is NULL, .parent_data must be initialized,
- if .parent_data is NULL, .parent_hws must be initialized
and valid.

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.

Hence this series makes sure all members are fully initialized, to fix
such bugs, and to avoid future breakage when converting drivers to a
different method for specifying the parents.

This (small) series is part 1, and fixes all cases that I identified to
be real bugs:
- The first patch fixes a crash I saw on BeagleBone Black,
- The other patches are only compile-tested.
All patches in this series can be applied independently.

Part 2 will be much larger (touching 185 files), and will fix the
remaining cases that are currently harmless.

Thanks for your comments!

Geert Uytterhoeven (5):
clk: ti: Make sure clk_init_data is fully initialized
clk: visconti: Make sure clk_init_data is fully initialized
hwmon: (ltc4282) Make sure clk_init_data is fully initialized
iio: frequency: adf4377: Make sure clk_init_data is fully initialized
spi: amlogic-spisg: Make sure clk_init_data is fully initialized

drivers/clk/ti/adpll.c | 4 ++--
drivers/clk/ti/divider.c | 2 +-
drivers/clk/ti/mux.c | 2 +-
drivers/clk/visconti/clkc.c | 2 +-
drivers/hwmon/ltc4282.c | 2 +-
drivers/iio/frequency/adf4377.c | 2 +-
drivers/spi/spi-amlogic-spisg.c | 2 +-
7 files changed, 8 insertions(+), 8 deletions(-)

--
2.43.0

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds