|
@@ -185,7 +185,7 @@ static ssize_t set_temp_max(struct device *dev,
|
|
|
struct adm1021_data *data = dev_get_drvdata(dev);
|
|
|
struct i2c_client *client = data->client;
|
|
|
long temp;
|
|
|
- int err;
|
|
|
+ int reg_val, err;
|
|
|
|
|
|
err = kstrtol(buf, 10, &temp);
|
|
|
if (err)
|
|
@@ -193,10 +193,11 @@ static ssize_t set_temp_max(struct device *dev,
|
|
|
temp /= 1000;
|
|
|
|
|
|
mutex_lock(&data->update_lock);
|
|
|
- data->temp_max[index] = clamp_val(temp, -128, 127);
|
|
|
+ reg_val = clamp_val(temp, -128, 127);
|
|
|
+ data->temp_max[index] = reg_val * 1000;
|
|
|
if (!read_only)
|
|
|
i2c_smbus_write_byte_data(client, ADM1021_REG_TOS_W(index),
|
|
|
- data->temp_max[index]);
|
|
|
+ reg_val);
|
|
|
mutex_unlock(&data->update_lock);
|
|
|
|
|
|
return count;
|
|
@@ -210,7 +211,7 @@ static ssize_t set_temp_min(struct device *dev,
|
|
|
struct adm1021_data *data = dev_get_drvdata(dev);
|
|
|
struct i2c_client *client = data->client;
|
|
|
long temp;
|
|
|
- int err;
|
|
|
+ int reg_val, err;
|
|
|
|
|
|
err = kstrtol(buf, 10, &temp);
|
|
|
if (err)
|
|
@@ -218,10 +219,11 @@ static ssize_t set_temp_min(struct device *dev,
|
|
|
temp /= 1000;
|
|
|
|
|
|
mutex_lock(&data->update_lock);
|
|
|
- data->temp_min[index] = clamp_val(temp, -128, 127);
|
|
|
+ reg_val = clamp_val(temp, -128, 127);
|
|
|
+ data->temp_min[index] = reg_val * 1000;
|
|
|
if (!read_only)
|
|
|
i2c_smbus_write_byte_data(client, ADM1021_REG_THYST_W(index),
|
|
|
- data->temp_min[index]);
|
|
|
+ reg_val);
|
|
|
mutex_unlock(&data->update_lock);
|
|
|
|
|
|
return count;
|