From 01b940af0e28044646171cc368b641bc6a67eb51 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Thu, 5 Jul 2007 20:39:40 +0200 Subject: [PATCH] --- yaml --- r: 68722 b: refs/heads/master c: 63f281a6e32ebc93c62dac0d399d8e054eb7b2ec h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/hwmon/lm85.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 0d3eac400704..0ded80b44da4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5a4d3ef317c845893fe3f9d3517cb0a99375da53 +refs/heads/master: 63f281a6e32ebc93c62dac0d399d8e054eb7b2ec diff --git a/trunk/drivers/hwmon/lm85.c b/trunk/drivers/hwmon/lm85.c index 0c61fa36c83c..2ca616d7c1c0 100644 --- a/trunk/drivers/hwmon/lm85.c +++ b/trunk/drivers/hwmon/lm85.c @@ -145,7 +145,12 @@ static int lm85_scaling[] = { /* .001 Volts */ #define INS_FROM_REG(n,val) SCALE((val), 192, lm85_scaling[n]) /* FAN speed is measured using 90kHz clock */ -#define FAN_TO_REG(val) (SENSORS_LIMIT( (val)<=0?0: 5400000/(val),0,65534)) +static inline u16 FAN_TO_REG(unsigned long val) +{ + if (!val) + return 0xffff; + return SENSORS_LIMIT(5400000 / val, 1, 0xfffe); +} #define FAN_FROM_REG(val) ((val)==0?-1:(val)==0xffff?0:5400000/(val)) /* Temperature is reported in .001 degC increments */ @@ -391,7 +396,7 @@ static ssize_t set_fan_min(struct device *dev, struct device_attribute *attr, int nr = to_sensor_dev_attr(attr)->index; struct i2c_client *client = to_i2c_client(dev); struct lm85_data *data = i2c_get_clientdata(client); - long val = simple_strtol(buf, NULL, 10); + unsigned long val = simple_strtoul(buf, NULL, 10); mutex_lock(&data->update_lock); data->fan_min[nr] = FAN_TO_REG(val);