Re: [PATCH v5 01/20] clk: bump stdout clock usage for earlycon
From: André Draszik <andre.draszik@linaro.org>
Date: 2024-08-08 14:41:55
Also in:
imx, linux-clk, linux-samsung-soc, lkml
From: André Draszik <andre.draszik@linaro.org>
Date: 2024-08-08 14:41:55
Also in:
imx, linux-clk, linux-samsung-soc, lkml
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@linaro.org> --- 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'