From: Guenter Roeck Date: Mon, 19 Jan 2015 01:27:55 +0000 (-0800) Subject: hwmon: (jc42) Use sign_extend32 for sign extension X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=bca6a1ada0464b7179f34f9af62bcdfd60c223e7;p=linux-beck.git hwmon: (jc42) Use sign_extend32 for sign extension Despite the name, sign_extend32 works just fine for 16 bit variables, so it is safe to use. Cc: Martin Kepplinger Reviewed-by: Jean Delvare Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/jc42.c b/drivers/hwmon/jc42.c index 388f8bcd898e..262d8086822f 100644 --- a/drivers/hwmon/jc42.c +++ b/drivers/hwmon/jc42.c @@ -213,11 +213,7 @@ static u16 jc42_temp_to_reg(int temp, bool extended) static int jc42_temp_from_reg(s16 reg) { - reg &= 0x1fff; - - /* sign extend register */ - if (reg & 0x1000) - reg |= 0xf000; + reg = sign_extend32(reg, 12); /* convert from 0.0625 to 0.001 resolution */ return reg * 125 / 2;