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

From: Geert Uytterhoeven

Date: Fri Aug 21 2026 - 06:18:16 EST


On Wed, 19 Aug 2026 at 21:05, Geert Uytterhoeven
<geert+renesas@xxxxxxxxx> wrote:
> 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.

FTR, I split part two in 13 subparts, per subsystem:
- "[PATCH 0/2] ARM/soc: Make sure clk_init_data is fully initialized"
https://lore.kernel.org/cover.1787239869.git.geert+renesas@xxxxxxxxx>
- "[PATCH 0/3] ASoC: Make sure clk_init_data is fully initialized"
https://lore.kernel.org/cover.1787239902.git.geert+renesas@xxxxxxxxx>
- "[PATCH 00/45] clk: Make sure clk_init_data is fully initialized (part two)"
https://lore.kernel.org/cover.1787239813.git.geert+renesas@xxxxxxxxx>
- "[PATCH 0/2] drm: Make sure clk_init_data is fully initialized"
https://lore.kernel.org/cover.1787239944.git.geert+renesas@xxxxxxxxx>
- "[PATCH] i2c: bcm2835: Make sure clk_init_data is fully initialized"
https://lore.kernel.org/9f82f37e6d6c069cd44326bcd5e5a2a8069a13a9.1787239980.git.geert+renesas@xxxxxxxxx>
- "[PATCH 0/2] iio: Make sure clk_init_data is fully initialized"
https://lore.kernel.org/cover.1787240005.git.geert+renesas@xxxxxxxxx>
- "[PATCH 0/3] media: Make sure clk_init_data is fully initialized"
https://lore.kernel.org/cover.1787240035.git.geert+renesas@xxxxxxxxx>
- "[PATCH] MIPS: Alchemy: clock: Make sure clk_init_data is fully"
https://lore.kernel.org/3610b51df642abb1fbb39f5bd93fddea43f8f164.1787240060.git.geert+renesas@xxxxxxxxx>
- "[PATCH 0/2] mmc: Make sure clk_init_data is fully initialized"
https://lore.kernel.org/cover.1787240090.git.geert+renesas@xxxxxxxxx>
- "[PATCH net-next 0/3] net: Make sure clk_init_data is fully initialized"
https://lore.kernel.org/cover.1787240118.git.geert+renesas@xxxxxxxxx>
- "[PATCH] peci: controller: aspeed: Make sure clk_init_data is fully"
https://lore.kernel.org/48aa77c45e109f78ccd806bc3b7bf380c5bc5e71.1787240145.git.geert+renesas@xxxxxxxxx>
- "[PATCH 0/2] phy: Make sure clk_init_data is fully initialized"
https://lore.kernel.org/cover.1787240165.git.geert+renesas@xxxxxxxxx>
- "[PATCH 0/5] rtc: Make sure clk_init_data is fully initialized"
https://lore.kernel.org/cover.1787241693.git.geert+renesas@xxxxxxxxx>

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