Re: [PATCH] clk: add new Kconfig to control default behavior of disabling unused clocks
From: Abel Vesa
Date: Tue Mar 17 2026 - 08:58:00 EST
On 26-03-17 13:16:33, Hans de Goede wrote:
> Hi,
>
> On 17-Mar-26 13:14, Abel Vesa wrote:
> > On 26-03-17 08:30:24, Maxime Ripard wrote:
> >> Hi,
> >>
> >> On Mon, Mar 16, 2026 at 06:33:45PM -0400, Brian Masney wrote:
> >>> At the 2023 Linux Plumbers Conference in Richmond VA, there was a
> >>> discussion about how large number of systems need to boot with
> >>> clk_ignore_unused. Per the discussions at the conference, the existing
> >>> behavior in the clk core is broken, and there is a desire to completely
> >>> remove this functionality.
> >>
> >> Broken how?
> >>
> >> clk_ignore_unused is to a point where it's seriously cargo-culted and
> >> documented as a silver bullet, when in reality it's just a debug tool
> >> for broken drivers, and the driver must be fixed.
> >>
> >> But nobody is actually fixing it.
> >>
> >> See
> >> https://fedoraproject.org/wiki/Changes/Automatic_DTB_selection_for_aarch64_EFI_systems#How_To_Test
> >> for example. The affected clock could be marked as CLK_IS_CRITICAL, and
> >> fedora wouldn't have to package anything, change anything, etc. But no,
> >> the problem is clk_ignore_unused.
> >
> > Nope. Don't ever mark clocks as critical unless system crashes without
> > them.
> >
> > Here is an example or why clocks cannot be marked as critical but need
> > to be kept by the clk_ignore_unused: display driver probes later.
> > If you mark it as critical you just made the clock stay enabled even
> > when display is off.
> >
> > And this is just one example.
>
> Interesting, so maybe we need a new way flag to mark clocks as not to
> be turned off when turning unused clocks off, which does not block
> them getting disabled normally later ?
>
> (I was under the mistaken impression this is what CLK_IS_CRITICAL did)
Nope. Critical means system cannot work without it, so do not gate ever.
There is however the CLK_IGNORE_UNUSED flag, but then we need to figure
out which clocks should have the flag. Which is basically a whack-a-mole
game until we get it right in all scenarios, on all platforms.
I think Stephen at some point said he will drop the clk_ignore_unused
late_initcall entirely, but I guess that didn't happen.