Lines Matching refs:data

143 static int pem_read_block(struct i2c_client *client, u8 command, u8 *data,  in pem_read_block()  argument
156 memcpy(data, block_buffer, data_len); in pem_read_block()
164 struct pem_data *data = dev_get_drvdata(dev); in pem_update_device() local
165 struct i2c_client *client = data->client; in pem_update_device()
166 struct pem_data *ret = data; in pem_update_device()
168 mutex_lock(&data->update_lock); in pem_update_device()
170 if (time_after(jiffies, data->last_updated + HZ) || !data->valid) { in pem_update_device()
175 data->data_string, in pem_update_device()
176 sizeof(data->data_string)); in pem_update_device()
183 if (data->input_length) { in pem_update_device()
185 data->input_string, in pem_update_device()
186 data->input_length); in pem_update_device()
194 if (data->fans_supported) { in pem_update_device()
196 data->fan_speed, in pem_update_device()
197 sizeof(data->fan_speed)); in pem_update_device()
206 data->last_updated = jiffies; in pem_update_device()
207 data->valid = 1; in pem_update_device()
210 mutex_unlock(&data->update_lock); in pem_update_device()
214 static long pem_get_data(u8 *data, int len, int index) in pem_get_data() argument
220 val = (data[index] + (data[index+1] << 8)) * 5 / 2; in pem_get_data()
223 val = data[index] * 200; in pem_get_data()
226 val = data[index] * 1000; in pem_get_data()
241 static long pem_get_input(u8 *data, int len, int index) in pem_get_input() argument
248 val = (data[index] + (data[index+1] << 8) - 75) * 1000; in pem_get_input()
250 val = (data[index] - 75) * 1000; in pem_get_input()
255 val = (data[index] + (data[index+1] << 8)) * 1000000L; in pem_get_input()
264 static long pem_get_fan(u8 *data, int len, int index) in pem_get_fan() argument
272 val = data[index] * 100; in pem_get_fan()
289 struct pem_data *data = pem_update_device(dev); in pem_show_bool() local
292 if (IS_ERR(data)) in pem_show_bool()
293 return PTR_ERR(data); in pem_show_bool()
295 status = data->data_string[attr->nr] & attr->index; in pem_show_bool()
303 struct pem_data *data = pem_update_device(dev); in pem_show_data() local
306 if (IS_ERR(data)) in pem_show_data()
307 return PTR_ERR(data); in pem_show_data()
309 value = pem_get_data(data->data_string, sizeof(data->data_string), in pem_show_data()
319 struct pem_data *data = pem_update_device(dev); in pem_show_input() local
322 if (IS_ERR(data)) in pem_show_input()
323 return PTR_ERR(data); in pem_show_input()
325 value = pem_get_input(data->input_string, sizeof(data->input_string), in pem_show_input()
335 struct pem_data *data = pem_update_device(dev); in pem_show_fan() local
338 if (IS_ERR(data)) in pem_show_fan()
339 return PTR_ERR(data); in pem_show_fan()
341 value = pem_get_fan(data->fan_speed, sizeof(data->fan_speed), in pem_show_fan()
450 struct pem_data *data; in pem_probe() local
457 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); in pem_probe()
458 if (!data) in pem_probe()
461 data->client = client; in pem_probe()
462 mutex_init(&data->update_lock); in pem_probe()
469 data->firmware_rev, sizeof(data->firmware_rev)); in pem_probe()
478 data->firmware_rev[0], data->firmware_rev[1], in pem_probe()
479 data->firmware_rev[2]); in pem_probe()
482 data->groups[idx++] = &pem_group; in pem_probe()
491 data->input_string, in pem_probe()
492 sizeof(data->input_string) - 1); in pem_probe()
493 if (!ret && (data->input_string[0] || data->input_string[1] || in pem_probe()
494 data->input_string[2])) in pem_probe()
495 data->input_length = sizeof(data->input_string) - 1; in pem_probe()
499 data->input_string, in pem_probe()
500 sizeof(data->input_string)); in pem_probe()
501 if (!ret && (data->input_string[0] || data->input_string[1] || in pem_probe()
502 data->input_string[2] || data->input_string[3])) in pem_probe()
503 data->input_length = sizeof(data->input_string); in pem_probe()
506 if (data->input_length) in pem_probe()
507 data->groups[idx++] = &pem_input_group; in pem_probe()
516 data->fan_speed, in pem_probe()
517 sizeof(data->fan_speed)); in pem_probe()
518 if (!ret && (data->fan_speed[0] || data->fan_speed[1] || in pem_probe()
519 data->fan_speed[2] || data->fan_speed[3])) { in pem_probe()
520 data->fans_supported = true; in pem_probe()
521 data->groups[idx++] = &pem_fan_group; in pem_probe()
525 data, data->groups); in pem_probe()