diff options
Diffstat (limited to 'drivers/hwmon/adm1021.c')
| -rw-r--r-- | drivers/hwmon/adm1021.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/hwmon/adm1021.c b/drivers/hwmon/adm1021.c index 3eb4281689b5..d74241bb278c 100644 --- a/drivers/hwmon/adm1021.c +++ b/drivers/hwmon/adm1021.c | |||
| @@ -185,7 +185,7 @@ static ssize_t set_temp_max(struct device *dev, | |||
| 185 | struct adm1021_data *data = dev_get_drvdata(dev); | 185 | struct adm1021_data *data = dev_get_drvdata(dev); |
| 186 | struct i2c_client *client = data->client; | 186 | struct i2c_client *client = data->client; |
| 187 | long temp; | 187 | long temp; |
| 188 | int err; | 188 | int reg_val, err; |
| 189 | 189 | ||
| 190 | err = kstrtol(buf, 10, &temp); | 190 | err = kstrtol(buf, 10, &temp); |
| 191 | if (err) | 191 | if (err) |
| @@ -193,10 +193,11 @@ static ssize_t set_temp_max(struct device *dev, | |||
| 193 | temp /= 1000; | 193 | temp /= 1000; |
| 194 | 194 | ||
| 195 | mutex_lock(&data->update_lock); | 195 | mutex_lock(&data->update_lock); |
| 196 | data->temp_max[index] = clamp_val(temp, -128, 127); | 196 | reg_val = clamp_val(temp, -128, 127); |
| 197 | data->temp_max[index] = reg_val * 1000; | ||
| 197 | if (!read_only) | 198 | if (!read_only) |
| 198 | i2c_smbus_write_byte_data(client, ADM1021_REG_TOS_W(index), | 199 | i2c_smbus_write_byte_data(client, ADM1021_REG_TOS_W(index), |
| 199 | data->temp_max[index]); | 200 | reg_val); |
| 200 | mutex_unlock(&data->update_lock); | 201 | mutex_unlock(&data->update_lock); |
| 201 | 202 | ||
| 202 | return count; | 203 | return count; |
| @@ -210,7 +211,7 @@ static ssize_t set_temp_min(struct device *dev, | |||
| 210 | struct adm1021_data *data = dev_get_drvdata(dev); | 211 | struct adm1021_data *data = dev_get_drvdata(dev); |
| 211 | struct i2c_client *client = data->client; | 212 | struct i2c_client *client = data->client; |
| 212 | long temp; | 213 | long temp; |
| 213 | int err; | 214 | int reg_val, err; |
| 214 | 215 | ||
| 215 | err = kstrtol(buf, 10, &temp); | 216 | err = kstrtol(buf, 10, &temp); |
| 216 | if (err) | 217 | if (err) |
| @@ -218,10 +219,11 @@ static ssize_t set_temp_min(struct device *dev, | |||
| 218 | temp /= 1000; | 219 | temp /= 1000; |
| 219 | 220 | ||
| 220 | mutex_lock(&data->update_lock); | 221 | mutex_lock(&data->update_lock); |
| 221 | data->temp_min[index] = clamp_val(temp, -128, 127); | 222 | reg_val = clamp_val(temp, -128, 127); |
| 223 | data->temp_min[index] = reg_val * 1000; | ||
| 222 | if (!read_only) | 224 | if (!read_only) |
| 223 | i2c_smbus_write_byte_data(client, ADM1021_REG_THYST_W(index), | 225 | i2c_smbus_write_byte_data(client, ADM1021_REG_THYST_W(index), |
| 224 | data->temp_min[index]); | 226 | reg_val); |
| 225 | mutex_unlock(&data->update_lock); | 227 | mutex_unlock(&data->update_lock); |
| 226 | 228 | ||
| 227 | return count; | 229 | return count; |
