Lines Matching refs:data

138  * Client data (each client gets its own)
166 struct amc6821_data *data = dev_get_drvdata(dev);
167 struct i2c_client *client = data->client;
172 mutex_lock(&data->update_lock);
174 if (time_after(jiffies, data->last_updated + timeout) ||
175 !data->valid) {
178 data->temp[i] = (int8_t)i2c_smbus_read_byte_data(
181 data->stat1 = i2c_smbus_read_byte_data(client,
183 data->stat2 = i2c_smbus_read_byte_data(client,
186 data->pwm1 = i2c_smbus_read_byte_data(client,
189 data->fan[i] = i2c_smbus_read_byte_data(
192 data->fan[i] += i2c_smbus_read_byte_data(
196 data->fan1_div = i2c_smbus_read_byte_data(client,
198 data->fan1_div = data->fan1_div & AMC6821_CONF4_PSPR ? 4 : 2;
200 data->pwm1_auto_point_pwm[0] = 0;
201 data->pwm1_auto_point_pwm[2] = 255;
202 data->pwm1_auto_point_pwm[1] = i2c_smbus_read_byte_data(client,
205 data->temp1_auto_point_temp[0] =
208 data->temp2_auto_point_temp[0] =
209 data->temp1_auto_point_temp[0];
212 data->temp1_auto_point_temp[1] = (reg & 0xF8) >> 1;
216 data->temp1_auto_point_temp[2] =
217 data->temp1_auto_point_temp[1] +
218 (data->pwm1_auto_point_pwm[2] -
219 data->pwm1_auto_point_pwm[1]) / reg;
221 data->temp1_auto_point_temp[2] = 255;
225 data->temp2_auto_point_temp[1] = (reg & 0xF8) >> 1;
229 data->temp2_auto_point_temp[2] =
230 data->temp2_auto_point_temp[1] +
231 (data->pwm1_auto_point_pwm[2] -
232 data->pwm1_auto_point_pwm[1]) / reg;
234 data->temp2_auto_point_temp[2] = 255;
240 data->pwm1_auto_channels_temp = 0;
241 data->pwm1_enable = 1;
244 data->pwm1_auto_channels_temp = 2;
245 data->pwm1_enable = 2;
248 data->pwm1_auto_channels_temp = 3;
249 data->pwm1_enable = 3;
255 data->pwm1_auto_channels_temp = 0;
256 data->pwm1_enable = 0;
260 data->last_updated = jiffies;
261 data->valid = 1;
263 mutex_unlock(&data->update_lock);
264 return data;
270 struct amc6821_data *data = amc6821_update_device(dev);
273 return sprintf(buf, "%d\n", data->temp[ix] * 1000);
279 struct amc6821_data *data = dev_get_drvdata(dev);
280 struct i2c_client *client = data->client;
289 mutex_lock(&data->update_lock);
290 data->temp[ix] = val;
291 if (i2c_smbus_write_byte_data(client, temp_reg[ix], data->temp[ix])) {
295 mutex_unlock(&data->update_lock);
302 struct amc6821_data *data = amc6821_update_device(dev);
308 flag = data->stat1 & AMC6821_STAT1_LTL;
311 flag = data->stat1 & AMC6821_STAT1_LTH;
314 flag = data->stat2 & AMC6821_STAT2_LTC;
317 flag = data->stat1 & AMC6821_STAT1_RTL;
320 flag = data->stat1 & AMC6821_STAT1_RTH;
323 flag = data->stat2 & AMC6821_STAT2_RTC;
338 struct amc6821_data *data = amc6821_update_device(dev);
339 if (data->stat1 & AMC6821_STAT1_RTF)
348 struct amc6821_data *data = amc6821_update_device(dev);
349 return sprintf(buf, "%d\n", data->pwm1);
356 struct amc6821_data *data = dev_get_drvdata(dev);
357 struct i2c_client *client = data->client;
363 mutex_lock(&data->update_lock);
364 data->pwm1 = clamp_val(val , 0, 255);
365 i2c_smbus_write_byte_data(client, AMC6821_REG_DCY, data->pwm1);
366 mutex_unlock(&data->update_lock);
373 struct amc6821_data *data = amc6821_update_device(dev);
374 return sprintf(buf, "%d\n", data->pwm1_enable);
381 struct amc6821_data *data = dev_get_drvdata(dev);
382 struct i2c_client *client = data->client;
388 mutex_lock(&data->update_lock);
420 mutex_unlock(&data->update_lock);
428 struct amc6821_data *data = amc6821_update_device(dev);
429 return sprintf(buf, "%d\n", data->pwm1_auto_channels_temp);
438 struct amc6821_data *data = amc6821_update_device(dev);
442 data->temp1_auto_point_temp[ix] * 1000);
445 data->temp2_auto_point_temp[ix] * 1000);
457 struct amc6821_data *data = amc6821_update_device(dev);
458 return sprintf(buf, "%d\n", data->pwm1_auto_point_pwm[ix]);
487 struct amc6821_data *data = amc6821_update_device(dev);
488 struct i2c_client *client = data->client;
501 ptemp = data->temp1_auto_point_temp;
505 ptemp = data->temp2_auto_point_temp;
513 mutex_lock(&data->update_lock);
514 data->valid = 0;
519 data->temp1_auto_point_temp[1]);
521 data->temp2_auto_point_temp[1]);
545 dpwm = data->pwm1_auto_point_pwm[2] - data->pwm1_auto_point_pwm[1];
550 mutex_unlock(&data->update_lock);
558 struct amc6821_data *data = dev_get_drvdata(dev);
559 struct i2c_client *client = data->client;
566 mutex_lock(&data->update_lock);
567 data->pwm1_auto_point_pwm[1] = clamp_val(val, 0, 254);
569 data->pwm1_auto_point_pwm[1])) {
574 dpwm = data->pwm1_auto_point_pwm[2] - data->pwm1_auto_point_pwm[1];
576 data->temp1_auto_point_temp)) {
581 data->temp2_auto_point_temp)) {
587 data->valid = 0;
588 mutex_unlock(&data->update_lock);
595 struct amc6821_data *data = amc6821_update_device(dev);
597 if (0 == data->fan[ix])
599 return sprintf(buf, "%d\n", (int)(6000000 / data->fan[ix]));
605 struct amc6821_data *data = amc6821_update_device(dev);
606 if (data->stat1 & AMC6821_STAT1_FANS)
615 struct amc6821_data *data = dev_get_drvdata(dev);
616 struct i2c_client *client = data->client;
624 mutex_lock(&data->update_lock);
625 data->fan[ix] = (u16) clamp_val(val, 1, 0xFFFF);
627 data->fan[ix] & 0xFF)) {
633 fan_reg_hi[ix], data->fan[ix] >> 8)) {
638 mutex_unlock(&data->update_lock);
645 struct amc6821_data *data = amc6821_update_device(dev);
646 return sprintf(buf, "%d\n", data->fan1_div);
653 struct amc6821_data *data = dev_get_drvdata(dev);
654 struct i2c_client *client = data->client;
660 mutex_lock(&data->update_lock);
671 data->fan1_div = 2;
675 data->fan1_div = 4;
687 mutex_unlock(&data->update_lock);
906 struct amc6821_data *data;
910 data = devm_kzalloc(dev, sizeof(struct amc6821_data), GFP_KERNEL);
911 if (!data)
914 data->client = client;
915 mutex_init(&data->update_lock);
925 data,