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

Commit 0d2681e1 authored by Nicolas Pitre's avatar Nicolas Pitre Committed by Stephen Boyd
Browse files

imx/clk-pllv2: fix wrong do_div() usage



do_div() is meant to be used with an unsigned dividend.

Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
Acked-by: default avatarShawn Guo <shawnguo@kernel.org>
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
parent 741e96e8
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ static unsigned long __clk_pllv2_recalc_rate(unsigned long parent_rate,
{
	long mfi, mfn, mfd, pdf, ref_clk;
	unsigned long dbl;
	s64 temp;
	u64 temp;

	dbl = dp_ctl & MXC_PLL_DP_CTL_DPDCK0_2_EN;

@@ -98,7 +98,8 @@ static unsigned long __clk_pllv2_recalc_rate(unsigned long parent_rate,
	temp = (u64) ref_clk * abs(mfn);
	do_div(temp, mfd + 1);
	if (mfn < 0)
		temp = -temp;
		temp = (ref_clk * mfi) - temp;
	else
		temp = (ref_clk * mfi) + temp;

	return temp;
@@ -126,7 +127,7 @@ static int __clk_pllv2_set_rate(unsigned long rate, unsigned long parent_rate,
{
	u32 reg;
	long mfi, pdf, mfn, mfd = 999999;
	s64 temp64;
	u64 temp64;
	unsigned long quad_parent_rate;

	quad_parent_rate = 4 * parent_rate;