From: Peter Griffin Date: Fri, 22 Dec 2023 16:53:54 +0000 (+0000) Subject: clk: samsung: gs101: register cmu_misc clocks early X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=163cd42fc49081964e0fc6f0b1e94b6b50eb85f5;p=linux.git clk: samsung: gs101: register cmu_misc clocks early Update cmu_misc so it is registered early, as it contains the gate which clocks the Multi Core Timer (MCT). This clock is required early in boot, otherwise exynos_mct will fail obtaining the clock. Note this wasn't previously an issue as exynos_mct wasn't enabled. Signed-off-by: Peter Griffin Reviewed-by: Sam Protsenko Link: https://lore.kernel.org/r/20231222165355.1462740-3-peter.griffin@linaro.org Signed-off-by: Krzysztof Kozlowski --- diff --git a/drivers/clk/samsung/clk-gs101.c b/drivers/clk/samsung/clk-gs101.c index 782993951fff8..559c86e129922 100644 --- a/drivers/clk/samsung/clk-gs101.c +++ b/drivers/clk/samsung/clk-gs101.c @@ -2478,6 +2478,15 @@ static const struct samsung_cmu_info misc_cmu_info __initconst = { .clk_name = "bus", }; +static void __init gs101_cmu_misc_init(struct device_node *np) +{ + exynos_arm64_register_cmu(NULL, np, &misc_cmu_info); +} + +/* Register CMU_MISC early, as it's needed for MCT timer */ +CLK_OF_DECLARE(gs101_cmu_misc, "google,gs101-cmu-misc", + gs101_cmu_misc_init); + /* ---- platform_driver ----------------------------------------------------- */ static int __init gs101_cmu_probe(struct platform_device *pdev) @@ -2495,9 +2504,6 @@ static const struct of_device_id gs101_cmu_of_match[] = { { .compatible = "google,gs101-cmu-apm", .data = &apm_cmu_info, - }, { - .compatible = "google,gs101-cmu-misc", - .data = &misc_cmu_info, }, { }, };