From: Benoît Thébaudeau Date: Thu, 27 Sep 2012 10:27:14 +0000 (+0000) Subject: mx25: Clean up clock calculations X-Git-Tag: v2013.01-rc1~193 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fac7c817c31e6c60b2e03e8fcb4b745d0c8d10ab;p=oweals%2Fu-boot.git mx25: Clean up clock calculations Avoid possible overflow in clock calculations, and do not waste calls to lldiv() to divide simple ulongs. Signed-off-by: Benoît Thébaudeau Cc: Stefano Babic --- diff --git a/arch/arm/cpu/arm926ejs/mx25/generic.c b/arch/arm/cpu/arm926ejs/mx25/generic.c index d34e84cf9a..e25a695e9e 100644 --- a/arch/arm/cpu/arm926ejs/mx25/generic.c +++ b/arch/arm/cpu/arm926ejs/mx25/generic.c @@ -80,12 +80,12 @@ ulong imx_get_armclk(void) ulong div; if (cctl & CCM_CCTL_ARM_SRC) - fref = lldiv((fref * 3), 4); + fref = lldiv((u64) fref * 3, 4); div = ((cctl >> CCM_CCTL_ARM_DIV_SHIFT) & CCM_CCTL_ARM_DIV_MASK) + 1; - return lldiv(fref, div); + return fref / div; } ulong imx_get_ahbclk(void) @@ -98,7 +98,7 @@ ulong imx_get_ahbclk(void) div = ((cctl >> CCM_CCTL_AHB_DIV_SHIFT) & CCM_CCTL_AHB_DIV_MASK) + 1; - return lldiv(fref, div); + return fref / div; } ulong imx_get_perclk(int clk) @@ -110,7 +110,7 @@ ulong imx_get_perclk(int clk) div = readl(&ccm->pcdr[CCM_PERCLK_REG(clk)]); div = ((div >> CCM_PERCLK_SHIFT(clk)) & CCM_PERCLK_MASK) + 1; - return lldiv(fref, div); + return fref / div; } unsigned int mxc_get_clock(enum mxc_clock clk)