Re: [PATCH 00/45] clk: Make sure clk_init_data is fully initialized (part two)
From: Brian Masney
Date: Mon Aug 31 2026 - 19:24:01 EST
Hi Geert / all,
On Fri, Aug 21, 2026 at 10:53:10AM +0200, Geert Uytterhoeven wrote:
> Hi all,
>
> 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.
>
> Hence this series aims to 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.
>
> Part One[1] fixed all cases that I identified to be real bugs, in
> response to a crash I saw on BeagleBone Black.
>
> This series is the clock subpart of Part Two, which fixes remaining
> cases that are currently harmless. These are still fragile, and may
> cause future breakage when converting drivers to a different method for
> specifying the parents.
>
> Thanks for your comments!
>
> [1] "[PATCH treewide 0/5] clk: Make sure clk_init_data is fully
> initialized (part 1)"
> https://lore.kernel.org/cover.1787165329.git.geert+renesas@xxxxxxxxx
>
> Geert Uytterhoeven (45):
> clk: aspeed: Make sure clk_init_data is fully initialized
> clk: at91: Make sure clk_init_data is fully initialized
> clk: bcm: iproc: Make sure clk_init_data is fully initialized
> clk: berlin: Make sure clk_init_data is fully initialized
> clk: cdce925: Make sure clk_init_data is fully initialized
> clk: clk-axi-clkgen: Make sure clk_init_data is fully initialized
> clk: cs2000-cp: Make sure clk_init_data is fully initialized
> clk: davinci: Make sure clk_init_data is fully initialized
> clk: fractional-divider: Make sure clk_init_data is fully initialized
> clk: gemini: Make sure clk_init_data is fully initialized
> clk: highbank: Make sure clk_init_data is fully initialized
> clk: hisilicon: Make sure clk_init_data is fully initialized
> clk: imx: Make sure clk_init_data is fully initialized
> clk: ingenic: Make sure clk_init_data is fully initialized
> clk: keystone: Make sure clk_init_data is fully initialized
> clk: lmk04832: Make sure clk_init_data is fully initialized
> clk: mediatek: Make sure clk_init_data is fully initialized
> clk: milbeaut: Make sure clk_init_data is fully initialized
> clk: mmp: Make sure clk_init_data is fully initialized
> clk: mvebu: Make sure clk_init_data is fully initialized
> clk: mxs: Make sure clk_init_data is fully initialized
> clk: nomadik: Make sure clk_init_data is fully initialized
> clk: npcm7xx: Make sure clk_init_data is fully initialized
> clk: nxp: Make sure clk_init_data is fully initialized
> clk: pistachio: Make sure clk_init_data is fully initialized
> clk: pwm: Make sure clk_init_data is fully initialized
> clk: renesas: Make sure clk_init_data is fully initialized
> clk: rockchip: Make sure clk_init_data is fully initialized
> clk: samsung: Make sure clk_init_data is fully initialized
> clk: scpi: Make sure clk_init_data is fully initialized
> clk: silabs: Make sure clk_init_data is fully initialized
> clk: socfpga: Make sure clk_init_data is fully initialized
> clk: spear: Make sure clk_init_data is fully initialized
> clk: stm32: Make sure clk_init_data is fully initialized
> clk: st: Make sure clk_init_data is fully initialized
> clk: sunxi: Make sure clk_init_data is fully initialized
> clk: tegra: Make sure clk_init_data is fully initialized
> clk: uniphier: Make sure clk_init_data is fully initialized
> clk: ux500: Make sure clk_init_data is fully initialized
> clk: versatile: Make sure clk_init_data is fully initialized
> clk: vt8500: Make sure clk_init_data is fully initialized
> clk: x86: Make sure clk_init_data is fully initialized
> clk: xgene: Make sure clk_init_data is fully initialized
> clk: xilinx: Make sure clk_init_data is fully initialized
> clk: zynqmp: Make sure clk_init_data is fully initialized
44 / 45 patches have been added to clk-next. I took it all for simplicity
rather than everyone trying to cherry pick just their parts.
Geert: The only patch that didn't apply was:
[PATCH 27/45] clk: renesas: Make sure clk_init_data is fully initialized
I didn't look into it too much.
Brian