Lines Matching refs:data
179 struct amc6821_data *data = dev_get_drvdata(dev); in amc6821_update_device() local
180 struct i2c_client *client = data->client; in amc6821_update_device()
185 mutex_lock(&data->update_lock); in amc6821_update_device()
187 if (time_after(jiffies, data->last_updated + timeout) || in amc6821_update_device()
188 !data->valid) { in amc6821_update_device()
191 data->temp[i] = i2c_smbus_read_byte_data(client, in amc6821_update_device()
194 data->stat1 = i2c_smbus_read_byte_data(client, in amc6821_update_device()
196 data->stat2 = i2c_smbus_read_byte_data(client, in amc6821_update_device()
199 data->pwm1 = i2c_smbus_read_byte_data(client, in amc6821_update_device()
202 data->fan[i] = i2c_smbus_read_byte_data( in amc6821_update_device()
205 data->fan[i] += i2c_smbus_read_byte_data( in amc6821_update_device()
209 data->fan1_div = i2c_smbus_read_byte_data(client, in amc6821_update_device()
211 data->fan1_div = data->fan1_div & AMC6821_CONF4_PSPR ? 4 : 2; in amc6821_update_device()
213 data->pwm1_auto_point_pwm[0] = 0; in amc6821_update_device()
214 data->pwm1_auto_point_pwm[2] = 255; in amc6821_update_device()
215 data->pwm1_auto_point_pwm[1] = i2c_smbus_read_byte_data(client, in amc6821_update_device()
218 data->temp1_auto_point_temp[0] = in amc6821_update_device()
221 data->temp2_auto_point_temp[0] = in amc6821_update_device()
222 data->temp1_auto_point_temp[0]; in amc6821_update_device()
225 data->temp1_auto_point_temp[1] = (reg & 0xF8) >> 1; in amc6821_update_device()
229 data->temp1_auto_point_temp[2] = in amc6821_update_device()
230 data->temp1_auto_point_temp[1] + in amc6821_update_device()
231 (data->pwm1_auto_point_pwm[2] - in amc6821_update_device()
232 data->pwm1_auto_point_pwm[1]) / reg; in amc6821_update_device()
234 data->temp1_auto_point_temp[2] = 255; in amc6821_update_device()
238 data->temp2_auto_point_temp[1] = (reg & 0xF8) >> 1; in amc6821_update_device()
242 data->temp2_auto_point_temp[2] = in amc6821_update_device()
243 data->temp2_auto_point_temp[1] + in amc6821_update_device()
244 (data->pwm1_auto_point_pwm[2] - in amc6821_update_device()
245 data->pwm1_auto_point_pwm[1]) / reg; in amc6821_update_device()
247 data->temp2_auto_point_temp[2] = 255; in amc6821_update_device()
253 data->pwm1_auto_channels_temp = 0; in amc6821_update_device()
254 data->pwm1_enable = 1; in amc6821_update_device()
257 data->pwm1_auto_channels_temp = 2; in amc6821_update_device()
258 data->pwm1_enable = 2; in amc6821_update_device()
261 data->pwm1_auto_channels_temp = 3; in amc6821_update_device()
262 data->pwm1_enable = 3; in amc6821_update_device()
268 data->pwm1_auto_channels_temp = 0; in amc6821_update_device()
269 data->pwm1_enable = 0; in amc6821_update_device()
273 data->last_updated = jiffies; in amc6821_update_device()
274 data->valid = 1; in amc6821_update_device()
276 mutex_unlock(&data->update_lock); in amc6821_update_device()
277 return data; in amc6821_update_device()
285 struct amc6821_data *data = amc6821_update_device(dev); in get_temp() local
288 return sprintf(buf, "%d\n", data->temp[ix] * 1000); in get_temp()
297 struct amc6821_data *data = dev_get_drvdata(dev); in set_temp() local
298 struct i2c_client *client = data->client; in set_temp()
307 mutex_lock(&data->update_lock); in set_temp()
308 data->temp[ix] = val; in set_temp()
309 if (i2c_smbus_write_byte_data(client, temp_reg[ix], data->temp[ix])) { in set_temp()
313 mutex_unlock(&data->update_lock); in set_temp()
322 struct amc6821_data *data = amc6821_update_device(dev); in get_temp_alarm() local
328 flag = data->stat1 & AMC6821_STAT1_LTL; in get_temp_alarm()
331 flag = data->stat1 & AMC6821_STAT1_LTH; in get_temp_alarm()
334 flag = data->stat2 & AMC6821_STAT2_LTC; in get_temp_alarm()
337 flag = data->stat1 & AMC6821_STAT1_RTL; in get_temp_alarm()
340 flag = data->stat1 & AMC6821_STAT1_RTH; in get_temp_alarm()
343 flag = data->stat2 & AMC6821_STAT2_RTC; in get_temp_alarm()
360 struct amc6821_data *data = amc6821_update_device(dev); in get_temp2_fault() local
361 if (data->stat1 & AMC6821_STAT1_RTF) in get_temp2_fault()
372 struct amc6821_data *data = amc6821_update_device(dev); in get_pwm1() local
373 return sprintf(buf, "%d\n", data->pwm1); in get_pwm1()
382 struct amc6821_data *data = dev_get_drvdata(dev); in set_pwm1() local
383 struct i2c_client *client = data->client; in set_pwm1()
389 mutex_lock(&data->update_lock); in set_pwm1()
390 data->pwm1 = clamp_val(val , 0, 255); in set_pwm1()
391 i2c_smbus_write_byte_data(client, AMC6821_REG_DCY, data->pwm1); in set_pwm1()
392 mutex_unlock(&data->update_lock); in set_pwm1()
401 struct amc6821_data *data = amc6821_update_device(dev); in get_pwm1_enable() local
402 return sprintf(buf, "%d\n", data->pwm1_enable); in get_pwm1_enable()
411 struct amc6821_data *data = dev_get_drvdata(dev); in set_pwm1_enable() local
412 struct i2c_client *client = data->client; in set_pwm1_enable()
418 mutex_lock(&data->update_lock); in set_pwm1_enable()
450 mutex_unlock(&data->update_lock); in set_pwm1_enable()
459 struct amc6821_data *data = amc6821_update_device(dev); in get_pwm1_auto_channels_temp() local
460 return sprintf(buf, "%d\n", data->pwm1_auto_channels_temp); in get_pwm1_auto_channels_temp()
470 struct amc6821_data *data = amc6821_update_device(dev); in get_temp_auto_point_temp() local
474 data->temp1_auto_point_temp[ix] * 1000); in get_temp_auto_point_temp()
477 data->temp2_auto_point_temp[ix] * 1000); in get_temp_auto_point_temp()
490 struct amc6821_data *data = amc6821_update_device(dev); in get_pwm1_auto_point_pwm() local
491 return sprintf(buf, "%d\n", data->pwm1_auto_point_pwm[ix]); in get_pwm1_auto_point_pwm()
522 struct amc6821_data *data = amc6821_update_device(dev); in set_temp_auto_point_temp() local
523 struct i2c_client *client = data->client; in set_temp_auto_point_temp()
536 ptemp = data->temp1_auto_point_temp; in set_temp_auto_point_temp()
540 ptemp = data->temp2_auto_point_temp; in set_temp_auto_point_temp()
548 mutex_lock(&data->update_lock); in set_temp_auto_point_temp()
549 data->valid = 0; in set_temp_auto_point_temp()
554 data->temp1_auto_point_temp[1]); in set_temp_auto_point_temp()
556 data->temp2_auto_point_temp[1]); in set_temp_auto_point_temp()
580 dpwm = data->pwm1_auto_point_pwm[2] - data->pwm1_auto_point_pwm[1]; in set_temp_auto_point_temp()
585 mutex_unlock(&data->update_lock); in set_temp_auto_point_temp()
595 struct amc6821_data *data = dev_get_drvdata(dev); in set_pwm1_auto_point_pwm() local
596 struct i2c_client *client = data->client; in set_pwm1_auto_point_pwm()
603 mutex_lock(&data->update_lock); in set_pwm1_auto_point_pwm()
604 data->pwm1_auto_point_pwm[1] = clamp_val(val, 0, 254); in set_pwm1_auto_point_pwm()
606 data->pwm1_auto_point_pwm[1])) { in set_pwm1_auto_point_pwm()
611 dpwm = data->pwm1_auto_point_pwm[2] - data->pwm1_auto_point_pwm[1]; in set_pwm1_auto_point_pwm()
613 data->temp1_auto_point_temp)) { in set_pwm1_auto_point_pwm()
618 data->temp2_auto_point_temp)) { in set_pwm1_auto_point_pwm()
624 data->valid = 0; in set_pwm1_auto_point_pwm()
625 mutex_unlock(&data->update_lock); in set_pwm1_auto_point_pwm()
634 struct amc6821_data *data = amc6821_update_device(dev); in get_fan() local
636 if (0 == data->fan[ix]) in get_fan()
638 return sprintf(buf, "%d\n", (int)(6000000 / data->fan[ix])); in get_fan()
646 struct amc6821_data *data = amc6821_update_device(dev); in get_fan1_fault() local
647 if (data->stat1 & AMC6821_STAT1_FANS) in get_fan1_fault()
658 struct amc6821_data *data = dev_get_drvdata(dev); in set_fan() local
659 struct i2c_client *client = data->client; in set_fan()
667 mutex_lock(&data->update_lock); in set_fan()
668 data->fan[ix] = (u16) clamp_val(val, 1, 0xFFFF); in set_fan()
670 data->fan[ix] & 0xFF)) { in set_fan()
676 fan_reg_hi[ix], data->fan[ix] >> 8)) { in set_fan()
681 mutex_unlock(&data->update_lock); in set_fan()
690 struct amc6821_data *data = amc6821_update_device(dev); in get_fan1_div() local
691 return sprintf(buf, "%d\n", data->fan1_div); in get_fan1_div()
699 struct amc6821_data *data = dev_get_drvdata(dev); in set_fan1_div() local
700 struct i2c_client *client = data->client; in set_fan1_div()
706 mutex_lock(&data->update_lock); in set_fan1_div()
717 data->fan1_div = 2; in set_fan1_div()
721 data->fan1_div = 4; in set_fan1_div()
733 mutex_unlock(&data->update_lock); in set_fan1_div()
975 struct amc6821_data *data; in amc6821_probe() local
979 data = devm_kzalloc(dev, sizeof(struct amc6821_data), GFP_KERNEL); in amc6821_probe()
980 if (!data) in amc6821_probe()
983 data->client = client; in amc6821_probe()
984 mutex_init(&data->update_lock); in amc6821_probe()
994 data, in amc6821_probe()