[PATCH] arch: arm [mach-imx] use sign_extend32() for sign_extension
Martin Kepplinger
martink at posteo.de
Thu Feb 19 04:08:09 PST 2015
From: Martin Kepplinger <martin.kepplinger at theobroma-systems.com>
Signed-off-by: Martin Kepplinger <martink at posteo.de>
---
arch/arm/mach-imx/clk-pllv2.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-imx/clk-pllv2.c b/arch/arm/mach-imx/clk-pllv2.c
index 20889d5..1bbd08c 100644
--- a/arch/arm/mach-imx/clk-pllv2.c
+++ b/arch/arm/mach-imx/clk-pllv2.c
@@ -5,6 +5,7 @@
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/err.h>
+#include <linux/bitops.h>
#include <asm/div64.h>
@@ -88,11 +89,10 @@ static unsigned long __clk_pllv2_recalc_rate(unsigned long parent_rate,
mfi = (mfi <= 5) ? 5 : mfi;
mfd = dp_mfd & MXC_PLL_DP_MFD_MASK;
mfn = mfn_abs = dp_mfn & MXC_PLL_DP_MFN_MASK;
- /* Sign extend to 32-bits */
- if (mfn >= 0x04000000) {
- mfn |= 0xFC000000;
+
+ mfn = sign_extend32(mfn, 26);
+ if (mfn < 0)
mfn_abs = -mfn;
- }
ref_clk = 2 * parent_rate;
if (dbl != 0)
--
2.1.4
More information about the linux-arm-kernel
mailing list