Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f586938b authored by Fabio Baltieri's avatar Fabio Baltieri Committed by Mike Turquette
Browse files

clk: ux500: clk-sysctrl: handle clocks with no parents



Fix clk_reg_sysctrl() to set main clock registers of new struct
clk_sysctrl even if the registered clock has no parents.

This fixes an issue where "ulpclk" was registered with all clk->reg_*
fields uninitialized, causing a -EINVAL error from clk_prepare().

Signed-off-by: default avatarFabio Baltieri <fabio.baltieri@linaro.org>
Acked-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
parent dd470448
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -145,7 +145,13 @@ static struct clk *clk_reg_sysctrl(struct device *dev,
		return ERR_PTR(-ENOMEM);
	}

	for (i = 0; i < num_parents; i++) {
	/* set main clock registers */
	clk->reg_sel[0] = reg_sel[0];
	clk->reg_bits[0] = reg_bits[0];
	clk->reg_mask[0] = reg_mask[0];

	/* handle clocks with more than one parent */
	for (i = 1; i < num_parents; i++) {
		clk->reg_sel[i] = reg_sel[i];
		clk->reg_bits[i] = reg_bits[i];
		clk->reg_mask[i] = reg_mask[i];