Thread (22 messages) 22 messages, 1 author, 2024-08-08

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

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'


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help