diff options
author | Martin Kepplinger <martink@posteo.de> | 2016-04-18 06:17:44 -0400 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2016-06-04 09:50:44 -0400 |
commit | 82df3e045d8cce5eaeb9bf1ed1d8d8841b04a41a (patch) | |
tree | e55773fe9fbcde4c4e5ed9f57df685d9133f1551 /drivers/rtc | |
parent | c5776dec8f2a90a0aa9e197c2900f68fda8dd978 (diff) |
rtc: pcf2123: use sign_extend32() for sign extension
Use sign_extend32() instead of open coding sign extension.
Signed-off-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-pcf2123.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-pcf2123.c b/drivers/rtc/rtc-pcf2123.c index f22e060709e5..b4478cc92b55 100644 --- a/drivers/rtc/rtc-pcf2123.c +++ b/drivers/rtc/rtc-pcf2123.c | |||
@@ -96,7 +96,7 @@ | |||
96 | #define CD_TMR_TE BIT(3) /* Countdown timer enable */ | 96 | #define CD_TMR_TE BIT(3) /* Countdown timer enable */ |
97 | 97 | ||
98 | /* PCF2123_REG_OFFSET BITS */ | 98 | /* PCF2123_REG_OFFSET BITS */ |
99 | #define OFFSET_SIGN_BIT BIT(6) /* 2's complement sign bit */ | 99 | #define OFFSET_SIGN_BIT 6 /* 2's complement sign bit */ |
100 | #define OFFSET_COARSE BIT(7) /* Coarse mode offset */ | 100 | #define OFFSET_COARSE BIT(7) /* Coarse mode offset */ |
101 | #define OFFSET_STEP (2170) /* Offset step in parts per billion */ | 101 | #define OFFSET_STEP (2170) /* Offset step in parts per billion */ |
102 | 102 | ||
@@ -217,7 +217,7 @@ static int pcf2123_read_offset(struct device *dev, long *offset) | |||
217 | if (reg & OFFSET_COARSE) | 217 | if (reg & OFFSET_COARSE) |
218 | reg <<= 1; /* multiply by 2 and sign extend */ | 218 | reg <<= 1; /* multiply by 2 and sign extend */ |
219 | else | 219 | else |
220 | reg |= (reg & OFFSET_SIGN_BIT) << 1; /* sign extend only */ | 220 | reg = sign_extend32(reg, OFFSET_SIGN_BIT); |
221 | 221 | ||
222 | *offset = ((long)reg) * OFFSET_STEP; | 222 | *offset = ((long)reg) * OFFSET_STEP; |
223 | 223 | ||