Lines Matching refs:data
46 * To read the data, issue a register read for any address
100 * Client data (each client gets its own)
185 * @param byte The data to send
259 * @param data The ds2482 channel pointer
263 static u8 ds2482_w1_touch_bit(void *data, u8 bit)
265 struct ds2482_w1_chan *pchan = data;
291 * @param data The ds2482 channel pointer
295 static u8 ds2482_w1_triplet(void *data, u8 dbit)
297 struct ds2482_w1_chan *pchan = data;
322 * @param data The ds2482 channel pointer
325 static void ds2482_w1_write_byte(void *data, u8 byte)
327 struct ds2482_w1_chan *pchan = data;
346 * @param data The ds2482 channel pointer
349 static u8 ds2482_w1_read_byte(void *data)
351 struct ds2482_w1_chan *pchan = data;
368 /* Select the data register */
371 /* Read the data byte */
383 * @param data The ds2482 channel pointer
386 static u8 ds2482_w1_reset_bus(void *data)
388 struct ds2482_w1_chan *pchan = data;
418 static u8 ds2482_w1_set_pullup(void *data, int delay)
420 struct ds2482_w1_chan *pchan = data;
448 struct ds2482_data *data;
458 if (!(data = kzalloc(sizeof(struct ds2482_data), GFP_KERNEL))) {
463 data->client = client;
464 i2c_set_clientdata(client, data);
467 if (ds2482_send_cmd(data, DS2482_CMD_RESET) < 0) {
484 data->w1_count = 1;
485 if (ds2482_set_channel(data, 7) == 0)
486 data->w1_count = 8;
489 ds2482_send_cmd_data(data, DS2482_CMD_WRITE_CONFIG,
492 mutex_init(&data->access_lock);
495 for (idx = 0; idx < data->w1_count; idx++) {
496 data->w1_ch[idx].pdev = data;
497 data->w1_ch[idx].channel = idx;
500 data->w1_ch[idx].w1_bm.data = &data->w1_ch[idx];
501 data->w1_ch[idx].w1_bm.read_byte = ds2482_w1_read_byte;
502 data->w1_ch[idx].w1_bm.write_byte = ds2482_w1_write_byte;
503 data->w1_ch[idx].w1_bm.touch_bit = ds2482_w1_touch_bit;
504 data->w1_ch[idx].w1_bm.triplet = ds2482_w1_triplet;
505 data->w1_ch[idx].w1_bm.reset_bus = ds2482_w1_reset_bus;
506 data->w1_ch[idx].w1_bm.set_pullup = ds2482_w1_set_pullup;
508 err = w1_add_master_device(&data->w1_ch[idx].w1_bm);
510 data->w1_ch[idx].pdev = NULL;
518 for (idx = 0; idx < data->w1_count; idx++) {
519 if (data->w1_ch[idx].pdev != NULL)
520 w1_remove_master_device(&data->w1_ch[idx].w1_bm);
523 kfree(data);
530 struct ds2482_data *data = i2c_get_clientdata(client);
534 for (idx = 0; idx < data->w1_count; idx++) {
535 if (data->w1_ch[idx].pdev != NULL)
536 w1_remove_master_device(&data->w1_ch[idx].w1_bm);
540 kfree(data);
545 * Driver data (common to all clients)