Lines Matching refs:data

100 #define BEEP_MASK_TO_REG(val)	((val) & 0x7f & data->alarm_mask)
103 /* Each client has this additional data */
152 struct gl518_data *data = dev_get_drvdata(dev);
153 struct i2c_client *client = data->client;
156 mutex_lock(&data->update_lock);
158 if (time_after(jiffies, data->last_updated + HZ + HZ / 2)
159 || !data->valid) {
162 data->alarms = gl518_read_value(client, GL518_REG_INT);
163 data->beep_mask = gl518_read_value(client, GL518_REG_ALARM);
166 data->voltage_min[0] = val & 0xff;
167 data->voltage_max[0] = (val >> 8) & 0xff;
169 data->voltage_min[1] = val & 0xff;
170 data->voltage_max[1] = (val >> 8) & 0xff;
172 data->voltage_min[2] = val & 0xff;
173 data->voltage_max[2] = (val >> 8) & 0xff;
175 data->voltage_min[3] = val & 0xff;
176 data->voltage_max[3] = (val >> 8) & 0xff;
179 data->fan_in[0] = (val >> 8) & 0xff;
180 data->fan_in[1] = val & 0xff;
183 data->fan_min[0] = (val >> 8) & 0xff;
184 data->fan_min[1] = val & 0xff;
186 data->temp_in = gl518_read_value(client, GL518_REG_TEMP_IN);
187 data->temp_max =
189 data->temp_hyst =
193 data->fan_div[0] = (val >> 6) & 0x03;
194 data->fan_div[1] = (val >> 4) & 0x03;
195 data->fan_auto1 = (val >> 3) & 0x01;
197 data->alarms &= data->alarm_mask;
200 data->beep_enable = (val >> 2) & 1;
202 if (data->type != gl518sm_r00) {
203 data->voltage_in[0] =
205 data->voltage_in[1] =
207 data->voltage_in[2] =
210 data->voltage_in[3] =
213 data->last_updated = jiffies;
214 data->valid = 1;
217 mutex_unlock(&data->update_lock);
219 return data;
230 struct gl518_data *data = gl518_update_device(dev); \
231 return sprintf(buf, "%d\n", type##_FROM_REG(data->value)); \
258 struct gl518_data *data = gl518_update_device(dev);
259 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan_in[nr],
260 DIV_FROM_REG(data->fan_div[nr])));
267 struct gl518_data *data = gl518_update_device(dev);
268 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan_min[nr],
269 DIV_FROM_REG(data->fan_div[nr])));
276 struct gl518_data *data = gl518_update_device(dev);
277 return sprintf(buf, "%d\n", DIV_FROM_REG(data->fan_div[nr]));
285 struct gl518_data *data = dev_get_drvdata(dev); \
286 struct i2c_client *client = data->client; \
292 mutex_lock(&data->update_lock); \
293 data->value = type##_TO_REG(val); \
294 gl518_write_value(client, reg, data->value); \
295 mutex_unlock(&data->update_lock); \
304 struct gl518_data *data = dev_get_drvdata(dev); \
305 struct i2c_client *client = data->client; \
312 mutex_lock(&data->update_lock); \
314 data->value = type##_TO_REG(val); \
315 regvalue = (regvalue & ~mask) | (data->value << shift); \
317 mutex_unlock(&data->update_lock); \
344 struct gl518_data *data = dev_get_drvdata(dev);
345 struct i2c_client *client = data->client;
355 mutex_lock(&data->update_lock);
357 data->fan_min[nr] = FAN_TO_REG(val, DIV_FROM_REG(data->fan_div[nr]));
359 | (data->fan_min[nr] << (8 * (1 - nr)));
362 data->beep_mask = gl518_read_value(client, GL518_REG_ALARM);
363 if (data->fan_min[nr] == 0)
364 data->alarm_mask &= ~(0x20 << nr);
366 data->alarm_mask |= (0x20 << nr);
367 data->beep_mask &= data->alarm_mask;
368 gl518_write_value(client, GL518_REG_ALARM, data->beep_mask);
370 mutex_unlock(&data->update_lock);
378 struct gl518_data *data = dev_get_drvdata(dev);
379 struct i2c_client *client = data->client;
409 mutex_lock(&data->update_lock);
411 data->fan_div[nr] = val;
413 | (data->fan_div[nr] << (6 - 2 * nr));
415 mutex_unlock(&data->update_lock);
452 struct gl518_data *data = gl518_update_device(dev);
453 return sprintf(buf, "%u\n", (data->alarms >> bitnr) & 1);
468 struct gl518_data *data = gl518_update_device(dev);
469 return sprintf(buf, "%u\n", (data->beep_mask >> bitnr) & 1);
475 struct gl518_data *data = dev_get_drvdata(dev);
476 struct i2c_client *client = data->client;
488 mutex_lock(&data->update_lock);
489 data->beep_mask = gl518_read_value(client, GL518_REG_ALARM);
491 data->beep_mask |= (1 << bitnr);
493 data->beep_mask &= ~(1 << bitnr);
494 gl518_write_value(client, GL518_REG_ALARM, data->beep_mask);
495 mutex_unlock(&data->update_lock);
618 struct gl518_data *data;
621 data = devm_kzalloc(dev, sizeof(struct gl518_data), GFP_KERNEL);
622 if (!data)
625 data->client = client;
627 data->type = revision == 0x80 ? gl518sm_r80 : gl518sm_r00;
628 mutex_init(&data->update_lock);
631 data->alarm_mask = 0xff;
635 data->groups[0] = &gl518_group;
636 if (data->type == gl518sm_r80)
637 data->groups[1] = &gl518_group_r80;
640 data, data->groups);