Lines Matching refs:pdev

104 	struct ds2482_data	*pdev;  member
146 static inline int ds2482_select_register(struct ds2482_data *pdev, u8 read_ptr) in ds2482_select_register() argument
148 if (pdev->read_prt != read_ptr) { in ds2482_select_register()
149 if (i2c_smbus_write_byte_data(pdev->client, in ds2482_select_register()
154 pdev->read_prt = read_ptr; in ds2482_select_register()
167 static inline int ds2482_send_cmd(struct ds2482_data *pdev, u8 cmd) in ds2482_send_cmd() argument
169 if (i2c_smbus_write_byte(pdev->client, cmd) < 0) in ds2482_send_cmd()
172 pdev->read_prt = DS2482_PTR_CODE_STATUS; in ds2482_send_cmd()
186 static inline int ds2482_send_cmd_data(struct ds2482_data *pdev, in ds2482_send_cmd_data() argument
189 if (i2c_smbus_write_byte_data(pdev->client, cmd, byte) < 0) in ds2482_send_cmd_data()
193 pdev->read_prt = (cmd != DS2482_CMD_WRITE_CONFIG) ? in ds2482_send_cmd_data()
211 static int ds2482_wait_1wire_idle(struct ds2482_data *pdev) in ds2482_wait_1wire_idle() argument
216 if (!ds2482_select_register(pdev, DS2482_PTR_CODE_STATUS)) { in ds2482_wait_1wire_idle()
218 temp = i2c_smbus_read_byte(pdev->client); in ds2482_wait_1wire_idle()
225 __func__, pdev->channel); in ds2482_wait_1wire_idle()
238 static int ds2482_set_channel(struct ds2482_data *pdev, u8 channel) in ds2482_set_channel() argument
240 if (i2c_smbus_write_byte_data(pdev->client, DS2482_CMD_CHANNEL_SELECT, in ds2482_set_channel()
244 pdev->read_prt = DS2482_PTR_CODE_CHANNEL; in ds2482_set_channel()
245 pdev->channel = -1; in ds2482_set_channel()
246 if (i2c_smbus_read_byte(pdev->client) == ds2482_chan_rd[channel]) { in ds2482_set_channel()
247 pdev->channel = channel; in ds2482_set_channel()
264 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_touch_bit() local
267 mutex_lock(&pdev->access_lock); in ds2482_w1_touch_bit()
270 ds2482_wait_1wire_idle(pdev); in ds2482_w1_touch_bit()
271 if (pdev->w1_count > 1) in ds2482_w1_touch_bit()
272 ds2482_set_channel(pdev, pchan->channel); in ds2482_w1_touch_bit()
275 if (!ds2482_send_cmd_data(pdev, DS2482_CMD_1WIRE_SINGLE_BIT, in ds2482_w1_touch_bit()
277 status = ds2482_wait_1wire_idle(pdev); in ds2482_w1_touch_bit()
279 mutex_unlock(&pdev->access_lock); in ds2482_w1_touch_bit()
296 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_triplet() local
299 mutex_lock(&pdev->access_lock); in ds2482_w1_triplet()
302 ds2482_wait_1wire_idle(pdev); in ds2482_w1_triplet()
303 if (pdev->w1_count > 1) in ds2482_w1_triplet()
304 ds2482_set_channel(pdev, pchan->channel); in ds2482_w1_triplet()
307 if (!ds2482_send_cmd_data(pdev, DS2482_CMD_1WIRE_TRIPLET, in ds2482_w1_triplet()
309 status = ds2482_wait_1wire_idle(pdev); in ds2482_w1_triplet()
311 mutex_unlock(&pdev->access_lock); in ds2482_w1_triplet()
326 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_write_byte() local
328 mutex_lock(&pdev->access_lock); in ds2482_w1_write_byte()
331 ds2482_wait_1wire_idle(pdev); in ds2482_w1_write_byte()
332 if (pdev->w1_count > 1) in ds2482_w1_write_byte()
333 ds2482_set_channel(pdev, pchan->channel); in ds2482_w1_write_byte()
336 ds2482_send_cmd_data(pdev, DS2482_CMD_1WIRE_WRITE_BYTE, byte); in ds2482_w1_write_byte()
338 mutex_unlock(&pdev->access_lock); in ds2482_w1_write_byte()
350 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_read_byte() local
353 mutex_lock(&pdev->access_lock); in ds2482_w1_read_byte()
356 ds2482_wait_1wire_idle(pdev); in ds2482_w1_read_byte()
357 if (pdev->w1_count > 1) in ds2482_w1_read_byte()
358 ds2482_set_channel(pdev, pchan->channel); in ds2482_w1_read_byte()
361 ds2482_send_cmd(pdev, DS2482_CMD_1WIRE_READ_BYTE); in ds2482_w1_read_byte()
364 ds2482_wait_1wire_idle(pdev); in ds2482_w1_read_byte()
367 ds2482_select_register(pdev, DS2482_PTR_CODE_DATA); in ds2482_w1_read_byte()
370 result = i2c_smbus_read_byte(pdev->client); in ds2482_w1_read_byte()
372 mutex_unlock(&pdev->access_lock); in ds2482_w1_read_byte()
387 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_reset_bus() local
391 mutex_lock(&pdev->access_lock); in ds2482_w1_reset_bus()
394 ds2482_wait_1wire_idle(pdev); in ds2482_w1_reset_bus()
395 if (pdev->w1_count > 1) in ds2482_w1_reset_bus()
396 ds2482_set_channel(pdev, pchan->channel); in ds2482_w1_reset_bus()
399 err = ds2482_send_cmd(pdev, DS2482_CMD_1WIRE_RESET); in ds2482_w1_reset_bus()
402 err = ds2482_wait_1wire_idle(pdev); in ds2482_w1_reset_bus()
407 ds2482_send_cmd_data(pdev, DS2482_CMD_WRITE_CONFIG, in ds2482_w1_reset_bus()
411 mutex_unlock(&pdev->access_lock); in ds2482_w1_reset_bus()
419 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_set_pullup() local
431 ds2482_wait_1wire_idle(pdev); in ds2482_w1_set_pullup()
433 retval = ds2482_send_cmd_data(pdev, DS2482_CMD_WRITE_CONFIG, in ds2482_w1_set_pullup()
436 ds2482_wait_1wire_idle(pdev); in ds2482_w1_set_pullup()
497 data->w1_ch[idx].pdev = data; in ds2482_probe()
511 data->w1_ch[idx].pdev = NULL; in ds2482_probe()
520 if (data->w1_ch[idx].pdev != NULL) in ds2482_probe()
533 if (data->w1_ch[idx].pdev != NULL) in ds2482_remove()