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

Commit b8792dbf authored by Thomas Abraham's avatar Thomas Abraham Committed by Ben Dooks
Browse files

ARM: SAMSUNG: Add check to ensure that clksrc_clk does have multiple clock sources



Adds a additional check in s3c_set_clksrc function to ensure that the clksrc_clk
does have a choice of multiple clock sources. In addition to this, a check is
added to ensure that a parent is assigned to the clksrc_clk in case it does not
have a choice of parent clocks.

Signed-off-by: default avatarThomas Abraham <thomas.ab@samsung.com>
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
parent a0de298a
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -129,11 +129,16 @@ void __init_or_cpufreq s3c_set_clksrc(struct clksrc_clk *clk, bool announce)
{
	struct clksrc_sources *srcs = clk->sources;
	u32 mask = bit_mask(clk->reg_src.shift, clk->reg_src.size);
	u32 clksrc = 0;
	u32 clksrc;

	if (clk->reg_src.reg)
		clksrc = __raw_readl(clk->reg_src.reg);
	if (!clk->reg_src.reg) {
		if (!clk->clk.parent)
			printk(KERN_ERR "%s: no parent clock specified\n",
				clk->clk.name);
		return;
	}

	clksrc = __raw_readl(clk->reg_src.reg);
	clksrc &= mask;
	clksrc >>= clk->reg_src.shift;