clk: Do a DT parent lookup even when index < 0
authorStephen Boyd <sboyd@kernel.org>
Fri, 14 Jun 2019 17:46:06 +0000 (10:46 -0700)
committerStephen Boyd <sboyd@kernel.org>
Mon, 17 Jun 2019 14:13:54 +0000 (07:13 -0700)
We want to allow the parent lookup to happen even if the index is some
value less than 0. This may be the case if a clk provider only specifies
the .name member to match a string in the "clock-names" DT property. We
shouldn't require that the index be >= 0 to make this use case work.

Fixes: 601b6e93304a ("clk: Allow parents to be specified via clkspec index")
Reported-by: Alexandre Mergnat <amergnat@baylibre.com>
Cc: Jerome Brunet <jbrunet@baylibre.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk.c

index aa51756..87b410d 100644 (file)
@@ -368,7 +368,7 @@ static struct clk_core *clk_core_get(struct clk_core *core, u8 p_index)
        const char *dev_id = dev ? dev_name(dev) : NULL;
        struct device_node *np = core->of_node;
 
-       if (np && index >= 0)
+       if (np && (name || index >= 0))
                hw = of_clk_get_hw(np, index, name);
 
        /*