diff options
author | Jonathan Cameron <jic23@cam.ac.uk> | 2009-12-16 15:38:28 -0500 |
---|---|---|
committer | Jean Delvare <khali@linux-fr.org> | 2009-12-16 15:38:28 -0500 |
commit | 4235f684b66d6f00d2cd8849c884cf8f8b57ecad (patch) | |
tree | 180599fdf75c31b7ab7e41d2b5b696f175121c05 /drivers/hwmon | |
parent | 70c38772aef27b01dc236fb4016261c3828df6aa (diff) |
hwmon: (sht15) Off-by-one error in array index + incorrect constants
Fix an off-by-one error in array index + incorrect constants.
Signed-off-by: Christoph Walser <walser@tik.ee.ethz.ch>
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r-- | drivers/hwmon/sht15.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/hwmon/sht15.c b/drivers/hwmon/sht15.c index ebe38b680ee3..864a371f6eb9 100644 --- a/drivers/hwmon/sht15.c +++ b/drivers/hwmon/sht15.c | |||
@@ -305,7 +305,7 @@ static inline int sht15_calc_temp(struct sht15_data *data) | |||
305 | int d1 = 0; | 305 | int d1 = 0; |
306 | int i; | 306 | int i; |
307 | 307 | ||
308 | for (i = 1; i < ARRAY_SIZE(temppoints) - 1; i++) | 308 | for (i = 1; i < ARRAY_SIZE(temppoints); i++) |
309 | /* Find pointer to interpolate */ | 309 | /* Find pointer to interpolate */ |
310 | if (data->supply_uV > temppoints[i - 1].vdd) { | 310 | if (data->supply_uV > temppoints[i - 1].vdd) { |
311 | d1 = (data->supply_uV/1000 - temppoints[i - 1].vdd) | 311 | d1 = (data->supply_uV/1000 - temppoints[i - 1].vdd) |
@@ -332,12 +332,12 @@ static inline int sht15_calc_humid(struct sht15_data *data) | |||
332 | 332 | ||
333 | const int c1 = -4; | 333 | const int c1 = -4; |
334 | const int c2 = 40500; /* x 10 ^ -6 */ | 334 | const int c2 = 40500; /* x 10 ^ -6 */ |
335 | const int c3 = 2800; /* x10 ^ -9 */ | 335 | const int c3 = -2800; /* x10 ^ -9 */ |
336 | 336 | ||
337 | RHlinear = c1*1000 | 337 | RHlinear = c1*1000 |
338 | + c2 * data->val_humid/1000 | 338 | + c2 * data->val_humid/1000 |
339 | + (data->val_humid * data->val_humid * c3)/1000000; | 339 | + (data->val_humid * data->val_humid * c3)/1000000; |
340 | return (temp - 25000) * (10000 + 800 * data->val_humid) | 340 | return (temp - 25000) * (10000 + 80 * data->val_humid) |
341 | / 1000000 + RHlinear; | 341 | / 1000000 + RHlinear; |
342 | } | 342 | } |
343 | 343 | ||