static ssize_t set_fan_div(struct device *dev, const char *buf, size_t count, int nr) 
static ssize_t set_fan_div(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) 
static ssize_t set_fan_div(struct device *dev, const char *buf,		size_t count, int nr){	struct i2c_client *client = to_i2c_client(dev);	struct adm1026_data *data = i2c_get_clientdata(client);	int    val,orig_div,new_div,shift;	val = simple_strtol(buf, NULL, 10);	new_div = DIV_TO_REG(val); 	if (new_div == 0) {		return -EINVAL;	}	down(&data->update_lock);	orig_div = data->fan_div[nr];	data->fan_div[nr] = DIV_FROM_REG(new_div);	if (nr < 4) { /* 0 <= nr < 4 */		shift = 2 * nr;		adm1026_write_value(client, ADM1026_REG_FAN_DIV_0_3,			((DIV_TO_REG(orig_div) & (~(0x03 << shift))) |			(new_div << shift)));	} else { /* 3 < nr < 8 */		shift = 2 * (nr - 4);		adm1026_write_value(client, ADM1026_REG_FAN_DIV_4_7,			((DIV_TO_REG(orig_div) & (~(0x03 << (2 * shift)))) |			(new_div << shift)));	}	if (data->fan_div[nr] != orig_div) {		fixup_fan_min(dev,nr,orig_div);	}	up(&data->update_lock);	return count;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/050480f12aeab62d39a1a07546606a47217ebefa/adm1026.c/clean/drivers/i2c/chips/adm1026.c