clk: rockchip: fix mmc get phase
authorJerome Brunet <jbrunet@baylibre.com>
Tue, 3 Mar 2020 19:29:56 +0000 (20:29 +0100)
committerStephen Boyd <sboyd@kernel.org>
Fri, 6 Mar 2020 20:06:01 +0000 (12:06 -0800)
If the mmc clock has no rate, it can be assumed to be constant.
In such case, there is no measurable phase shift. Just return 0
in this case instead of returning an error.

Fixes: 2760878662a2 ("clk: Bail out when calculating phase fails during clk registration")
Tested-by: Markus Reichl <m.reichl@fivetechno.de>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lkml.kernel.org/r/20200303192956.64410-1-jbrunet@baylibre.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/rockchip/clk-mmc-phase.c

index 4abe7ff..975454a 100644 (file)
@@ -51,9 +51,9 @@ static int rockchip_mmc_get_phase(struct clk_hw *hw)
        u16 degrees;
        u32 delay_num = 0;
 
-       /* See the comment for rockchip_mmc_set_phase below */
+       /* Constant signal, no measurable phase shift */
        if (!rate)
-               return -EINVAL;
+               return 0;
 
        raw_value = readl(mmc_clock->reg) >> (mmc_clock->shift);