From 91bba688016be0ba87ecb9d80d6490c2ebc63b0d Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Thu, 10 Jan 2013 21:16:47 -0800 Subject: [PATCH] hwmon: (lm73) Fix lower and upper temperature limits While the LM73 is only specified for temperatures from -40 to +150 degrees C, its power-up minimum and maximum temperature limits are -256 and +255.75 degrees C. For better consistency and to avoid confusion, clamp limits to the power-up limits and not to -40 / +150 degrees C. Signed-off-by: Guenter Roeck --- drivers/hwmon/lm73.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/hwmon/lm73.c b/drivers/hwmon/lm73.c index 5166a8e3a061..dad83fea807d 100644 --- a/drivers/hwmon/lm73.c +++ b/drivers/hwmon/lm73.c @@ -36,8 +36,8 @@ static const unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4c, #define LM73_ID 0x9001 /* 0x0190, byte-swapped */ #define DRVNAME "lm73" -#define LM73_TEMP_MIN (-40) -#define LM73_TEMP_MAX 150 +#define LM73_TEMP_MIN (-256000 / 250) +#define LM73_TEMP_MAX (255750 / 250) /*-----------------------------------------------------------------------*/ @@ -56,8 +56,7 @@ static ssize_t set_temp(struct device *dev, struct device_attribute *da, return status; /* Write value */ - value = (short) clamp_val(temp / 250, LM73_TEMP_MIN * 4, - LM73_TEMP_MAX * 4) << 5; + value = clamp_val(temp / 250, LM73_TEMP_MIN, LM73_TEMP_MAX) << 5; err = i2c_smbus_write_word_swapped(client, attr->index, value); return (err < 0) ? err : count; } -- 2.20.1