Commit 27608786 authored by Stephen Boyd's avatar Stephen Boyd
Browse files

clk: Bail out when calculating phase fails during clk registration



Bail out of clk registration if we fail to get the phase for a clk that
has a clk_ops::get_phase() callback. Print a warning too so that driver
authors can easily figure out that some clk is unable to read back phase
information at boot.

Cc: Douglas Anderson <dianders@chromium.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Suggested-by: default avatarJerome Brunet <jbrunet@baylibre.com>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
Link: https://lkml.kernel.org/r/20200205232802.29184-5-sboyd@kernel.org


Acked-by: default avatarJerome Brunet <jbrunet@baylibre.com>
parent 0daa376d
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -3457,7 +3457,12 @@ static int __clk_core_init(struct clk_core *core)
	 * Since a phase is by definition relative to its parent, just
	 * query the current clock phase, or just assume it's in phase.
	 */
	clk_core_get_phase(core);
	ret = clk_core_get_phase(core);
	if (ret < 0) {
		pr_warn("%s: Failed to get phase for clk '%s'\n", __func__,
			core->name);
		goto out;
	}

	/*
	 * Set clk's duty cycle.