diff mbox

rtc-pcf2123: use sign_extend32() for sign extension

Message ID 1460974664-7525-1-git-send-email-martink@posteo.de
State Accepted
Headers show

Commit Message

Martin Kepplinger April 18, 2016, 10:17 a.m. UTC
Signed-off-by: Martin Kepplinger <martink@posteo.de>
---
 drivers/rtc/rtc-pcf2123.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Alexandre Belloni April 19, 2016, 10:44 p.m. UTC | #1
Please always include a commit message else, I'm fine with the patch.

On 18/04/2016 at 12:17:44 +0200, Martin Kepplinger wrote :
> Signed-off-by: Martin Kepplinger <martink@posteo.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
>
Alexandre Belloni June 4, 2016, 1:52 p.m. UTC | #2
On 18/04/2016 at 12:17:44 +0200, Martin Kepplinger wrote :
> Signed-off-by: Martin Kepplinger <martink@posteo.de>
> ---
>  drivers/rtc/rtc-pcf2123.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
Applied, thanks.
diff mbox

Patch

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;