clk: sunxi-ng: sun6i-rtc: Mark rtc-32k as critical
authorSamuel Holland <samuel@sholland.org>
Mon, 11 Apr 2022 05:00:59 +0000 (00:00 -0500)
committerJernej Skrabec <jernej.skrabec@gmail.com>
Sun, 24 Apr 2022 21:22:46 +0000 (23:22 +0200)
Because some newer hardware variants have multiple possible parents for
the RTC's timekeeping clock, this driver models it as a "rtc-32k" clock.
However, it does not add any consumer for this clock. This causes the
common clock framework to disable it, preventing RTC time access.

Since the RTC's timekeeping clock should always be enabled, regardless
of which drivers are loaded, let's mark this clock as critical instead
of adding a consumer in the RTC driver.

Fixes: d91612d7f01a ("clk: sunxi-ng: Add support for the sun6i RTC clocks")
Signed-off-by: Samuel Holland <samuel@sholland.org>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220411050100.40964-1-samuel@sholland.org
drivers/clk/sunxi-ng/ccu-sun6i-rtc.c

index ffb72d9..2f3ddc9 100644 (file)
@@ -241,6 +241,7 @@ static struct clk_init_data rtc_32k_init_data = {
        .ops            = &ccu_mux_ops,
        .parent_hws     = rtc_32k_parents,
        .num_parents    = ARRAY_SIZE(rtc_32k_parents), /* updated during probe */
+       .flags          = CLK_IS_CRITICAL,
 };
 
 static struct ccu_mux rtc_32k_clk = {