From: Larry Johnson Date: Thu, 21 Feb 2008 18:58:16 +0000 (-0500) Subject: LM75 bug fix for negative temperatures X-Git-Tag: v1.3.2-rc2~8 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d01b847c5cd070895c4ba178c85cd068a95cf7cd;p=oweals%2Fu-boot.git LM75 bug fix for negative temperatures When the LM75 temperature sensor measures a temperature below 0 C, the current driver does not perform sign extension, so the result returned is 256 C too high. This patch fixes the problem. Signed-off-by: Larry Johnson --- diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c index 63f3b7551e..e29b29440f 100644 --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c @@ -179,7 +179,13 @@ int dtt_init (void) int dtt_get_temp(int sensor) { - return (dtt_read(sensor, DTT_READ_TEMP) / 256); + int const ret = dtt_read(sensor, DTT_READ_TEMP); + + if (ret < 0) { + printf("DTT temperature read failed.\n"); + return 0; + } + return (int)((int16_t) ret / 256); } /* dtt_get_temp() */ #endif /* CONFIG_DTT_LM75 */