ds1621: Fix negative temperature readings
authorJeff Dischler <jdischler@xes-inc.com>
Wed, 29 Sep 2010 18:46:19 +0000 (13:46 -0500)
committerWolfgang Denk <wd@denx.de>
Wed, 6 Oct 2010 21:01:22 +0000 (23:01 +0200)
Fix bug where signed data was processed as unsigned.  The bug previously
resulted in negative temperature readings wrapping around, eg -10 became
245.

Signed-off-by: Jeff Dischler <jdischler@xes-inc.com>
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
drivers/hwmon/ds1621.c

index 60bf50203a78d5062c93e78aa4ca297c56b8fde4..5a2ea62899711cb0c1763df9793c615430dc4c07 100644 (file)
@@ -80,7 +80,7 @@ int dtt_read(int sensor, int reg)
 
        /* Handle 2 byte result */
        if (dlen == 2)
-               return ((int)((short)data[1] + (((short)data[0]) << 8)));
+               return (short)((data[0] << 8) | data[1]);
 
        return (int)data[0];
 }