From khali@linux-fr.org Mon Aug 28 05:35:53 2006 Date: Mon, 28 Aug 2006 14:35:46 +0200 From: Jean Delvare To: Greg KH Cc: LM Sensors Subject: [PATCH 08/14] it87: Cleanup set_fan_div Message-Id: <20060828143546.9d439cf8.khali@linux-fr.org> Content-Disposition: inline; filename=hwmon-it87-set-fan-div.patch it87: Cleanup set_fan_div We only change one fan clock divider at a time, so there is only one fan min which needs to be saved and restored. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman --- drivers/hwmon/it87.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) --- gregkh-2.6.orig/drivers/hwmon/it87.c +++ gregkh-2.6/drivers/hwmon/it87.c @@ -564,14 +564,14 @@ static ssize_t set_fan_div(struct device struct i2c_client *client = to_i2c_client(dev); struct it87_data *data = i2c_get_clientdata(client); unsigned long val = simple_strtoul(buf, NULL, 10); - int i, min[3]; + int min; u8 old; mutex_lock(&data->update_lock); old = it87_read_value(client, IT87_REG_FAN_DIV); - for (i = 0; i < 3; i++) - min[i] = FAN_FROM_REG(data->fan_min[i], DIV_FROM_REG(data->fan_div[i])); + /* Save fan min limit */ + min = FAN_FROM_REG(data->fan_min[nr], DIV_FROM_REG(data->fan_div[nr])); switch (nr) { case 0: @@ -591,10 +591,10 @@ static ssize_t set_fan_div(struct device val |= 0x1 << 6; it87_write_value(client, IT87_REG_FAN_DIV, val); - for (i = 0; i < 3; i++) { - data->fan_min[i]=FAN_TO_REG(min[i], DIV_FROM_REG(data->fan_div[i])); - it87_write_value(client, IT87_REG_FAN_MIN(i), data->fan_min[i]); - } + /* Restore fan min limit */ + data->fan_min[nr] = FAN_TO_REG(min, DIV_FROM_REG(data->fan_div[nr])); + it87_write_value(client, IT87_REG_FAN_MIN(nr), data->fan_min[nr]); + mutex_unlock(&data->update_lock); return count; }