]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
soc: samsung: pm_domains: Add blacklisting clock handling
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 21 Feb 2018 10:15:22 +0000 (11:15 +0100)
committerSylwester Nawrocki <s.nawrocki@samsung.com>
Tue, 6 Mar 2018 16:33:37 +0000 (17:33 +0100)
Handling of clock reparenting will be move to clock controller driver,
so add possibility to blacklist clock handling on systems, where the
clock controller already does all needed operations. This is needed
to avoid potential deadlock on clock reparenting during power domain
on/off procedure.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
drivers/soc/samsung/pm_domains.c

index b6a436594a199df1b8193d4dd1de032b53c64f06..cef30bdf19b1a2f4ce0adf876d6133f30b836052 100644 (file)
@@ -147,6 +147,9 @@ static __init const char *exynos_get_domain_name(struct device_node *node)
        return kstrdup_const(name, GFP_KERNEL);
 }
 
+static const char *soc_force_no_clk[] = {
+};
+
 static __init int exynos4_pm_init_power_domain(void)
 {
        struct device_node *np;
@@ -183,6 +186,11 @@ static __init int exynos4_pm_init_power_domain(void)
                pd->pd.power_on = exynos_pd_power_on;
                pd->local_pwr_cfg = pm_domain_cfg->local_pwr_cfg;
 
+               for (i = 0; i < ARRAY_SIZE(soc_force_no_clk); i++)
+                       if (of_find_compatible_node(NULL, NULL,
+                                                   soc_force_no_clk[i]))
+                               goto no_clk;
+
                for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
                        char clk_name[8];