[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1460974664-7525-1-git-send-email-martink@posteo.de>
Date: Mon, 18 Apr 2016 12:17:44 +0200
From: Martin Kepplinger <martink@...teo.de>
To: a.zummo@...ertech.it, alexandre.belloni@...e-electrons.com
Cc: rtc-linux@...glegroups.com, linux-kernel@...r.kernel.org,
Martin Kepplinger <martink@...teo.de>
Subject: [PATCH] rtc-pcf2123: use sign_extend32() for sign extension
Signed-off-by: Martin Kepplinger <martink@...teo.de>
---
drivers/rtc/rtc-pcf2123.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/rtc/rtc-pcf2123.c b/drivers/rtc/rtc-pcf2123.c
index f22e060..b4478cc 100644
--- a/drivers/rtc/rtc-pcf2123.c
+++ b/drivers/rtc/rtc-pcf2123.c
@@ -96,7 +96,7 @@
#define CD_TMR_TE BIT(3) /* Countdown timer enable */
/* PCF2123_REG_OFFSET BITS */
-#define OFFSET_SIGN_BIT BIT(6) /* 2's complement sign bit */
+#define OFFSET_SIGN_BIT 6 /* 2's complement sign bit */
#define OFFSET_COARSE BIT(7) /* Coarse mode offset */
#define OFFSET_STEP (2170) /* Offset step in parts per billion */
@@ -217,7 +217,7 @@ static int pcf2123_read_offset(struct device *dev, long *offset)
if (reg & OFFSET_COARSE)
reg <<= 1; /* multiply by 2 and sign extend */
else
- reg |= (reg & OFFSET_SIGN_BIT) << 1; /* sign extend only */
+ reg = sign_extend32(reg, OFFSET_SIGN_BIT);
*offset = ((long)reg) * OFFSET_STEP;
--
2.1.4
Powered by blists - more mailing lists