On Thu, 2024-08-08 at 15:11 +0100, André Draszik wrote: > On some platforms, earlycon depends on the bootloader setup stdout > clocks being retained. In some cases stdout UART clocks (or their > parents) can get disabled during loading of other drivers (e.g. i2c) > causing earlycon to stop to work sometime into the boot, halting the > whole system. > > Since there are at least two platforms where that is the case, i.MX and > the Exynos-derivative gs101, this patch adds some logic to the clk core > to detect these clocks if earlycon is enabled, to bump their usage > count as part of of_clk_add_hw_provider() and of_clk_add_provider(), > and to release them again at the end of init. > > This way code duplication in affected platforms can be avoided. > > The general idea is based on similar code in the i.MX clock driver, but > this here is a bit more generic as in general (e.g. on gs101) clocks > can come from various different clock units (driver instances) and > therefore it can be necessary to run this code multiple times until all > required stdout clocks have probed. > > Signed-off-by: André Draszik <andre.draszik@xxxxxxxxxx> > --- > drivers/clk/clk.c | 129 ++++++++++++++++++++++++++++++++++++++++ > drivers/clk/samsung/clk-gs101.c | 1 + I shall send a v6 with the modification to clk-gs101.c dropped. This was left by accident while moving some of the code :-( Cheers, Andre'