clk: Warn about critical clks that fail to enable
authorStephen Boyd <sboyd@kernel.org>
Thu, 26 Dec 2019 22:09:27 +0000 (14:09 -0800)
committerStephen Boyd <sboyd@kernel.org>
Sun, 5 Jan 2020 07:21:08 +0000 (23:21 -0800)
If we don't warn here users of the CLK_IS_CRITICAL flag may not know
that their clk isn't actually enabled because it silently fails to
enable. Let's print a warning in that case so developers find these
problems faster.

Suggested-by: Jerome Brunet <jbrunet@baylibre.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lkml.kernel.org/r/20200102005503.71923-1-sboyd@kernel.org
Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
drivers/clk/clk.c

index 772258d..b03c2be 100644 (file)
@@ -3427,13 +3427,18 @@ static int __clk_core_init(struct clk_core *core)
                unsigned long flags;
 
                ret = clk_core_prepare(core);
-               if (ret)
+               if (ret) {
+                       pr_warn("%s: critical clk '%s' failed to prepare\n",
+                              __func__, core->name);
                        goto out;
+               }
 
                flags = clk_enable_lock();
                ret = clk_core_enable(core);
                clk_enable_unlock(flags);
                if (ret) {
+                       pr_warn("%s: critical clk '%s' failed to enable\n",
+                              __func__, core->name);
                        clk_core_unprepare(core);
                        goto out;
                }