Lines Matching refs:pdev

103 	struct ds2482_data	*pdev;  member
145 static inline int ds2482_select_register(struct ds2482_data *pdev, u8 read_ptr) in ds2482_select_register() argument
147 if (pdev->read_prt != read_ptr) { in ds2482_select_register()
148 if (i2c_smbus_write_byte_data(pdev->client, in ds2482_select_register()
153 pdev->read_prt = read_ptr; in ds2482_select_register()
166 static inline int ds2482_send_cmd(struct ds2482_data *pdev, u8 cmd) in ds2482_send_cmd() argument
168 if (i2c_smbus_write_byte(pdev->client, cmd) < 0) in ds2482_send_cmd()
171 pdev->read_prt = DS2482_PTR_CODE_STATUS; in ds2482_send_cmd()
185 static inline int ds2482_send_cmd_data(struct ds2482_data *pdev, in ds2482_send_cmd_data() argument
188 if (i2c_smbus_write_byte_data(pdev->client, cmd, byte) < 0) in ds2482_send_cmd_data()
192 pdev->read_prt = (cmd != DS2482_CMD_WRITE_CONFIG) ? in ds2482_send_cmd_data()
210 static int ds2482_wait_1wire_idle(struct ds2482_data *pdev) in ds2482_wait_1wire_idle() argument
215 if (!ds2482_select_register(pdev, DS2482_PTR_CODE_STATUS)) { in ds2482_wait_1wire_idle()
217 temp = i2c_smbus_read_byte(pdev->client); in ds2482_wait_1wire_idle()
224 __func__, pdev->channel); in ds2482_wait_1wire_idle()
237 static int ds2482_set_channel(struct ds2482_data *pdev, u8 channel) in ds2482_set_channel() argument
239 if (i2c_smbus_write_byte_data(pdev->client, DS2482_CMD_CHANNEL_SELECT, in ds2482_set_channel()
243 pdev->read_prt = DS2482_PTR_CODE_CHANNEL; in ds2482_set_channel()
244 pdev->channel = -1; in ds2482_set_channel()
245 if (i2c_smbus_read_byte(pdev->client) == ds2482_chan_rd[channel]) { in ds2482_set_channel()
246 pdev->channel = channel; in ds2482_set_channel()
263 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_touch_bit() local
266 mutex_lock(&pdev->access_lock); in ds2482_w1_touch_bit()
269 ds2482_wait_1wire_idle(pdev); in ds2482_w1_touch_bit()
270 if (pdev->w1_count > 1) in ds2482_w1_touch_bit()
271 ds2482_set_channel(pdev, pchan->channel); in ds2482_w1_touch_bit()
274 if (!ds2482_send_cmd_data(pdev, DS2482_CMD_1WIRE_SINGLE_BIT, in ds2482_w1_touch_bit()
276 status = ds2482_wait_1wire_idle(pdev); in ds2482_w1_touch_bit()
278 mutex_unlock(&pdev->access_lock); in ds2482_w1_touch_bit()
295 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_triplet() local
298 mutex_lock(&pdev->access_lock); in ds2482_w1_triplet()
301 ds2482_wait_1wire_idle(pdev); in ds2482_w1_triplet()
302 if (pdev->w1_count > 1) in ds2482_w1_triplet()
303 ds2482_set_channel(pdev, pchan->channel); in ds2482_w1_triplet()
306 if (!ds2482_send_cmd_data(pdev, DS2482_CMD_1WIRE_TRIPLET, in ds2482_w1_triplet()
308 status = ds2482_wait_1wire_idle(pdev); in ds2482_w1_triplet()
310 mutex_unlock(&pdev->access_lock); in ds2482_w1_triplet()
325 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_write_byte() local
327 mutex_lock(&pdev->access_lock); in ds2482_w1_write_byte()
330 ds2482_wait_1wire_idle(pdev); in ds2482_w1_write_byte()
331 if (pdev->w1_count > 1) in ds2482_w1_write_byte()
332 ds2482_set_channel(pdev, pchan->channel); in ds2482_w1_write_byte()
335 ds2482_send_cmd_data(pdev, DS2482_CMD_1WIRE_WRITE_BYTE, byte); in ds2482_w1_write_byte()
337 mutex_unlock(&pdev->access_lock); in ds2482_w1_write_byte()
349 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_read_byte() local
352 mutex_lock(&pdev->access_lock); in ds2482_w1_read_byte()
355 ds2482_wait_1wire_idle(pdev); in ds2482_w1_read_byte()
356 if (pdev->w1_count > 1) in ds2482_w1_read_byte()
357 ds2482_set_channel(pdev, pchan->channel); in ds2482_w1_read_byte()
360 ds2482_send_cmd(pdev, DS2482_CMD_1WIRE_READ_BYTE); in ds2482_w1_read_byte()
363 ds2482_wait_1wire_idle(pdev); in ds2482_w1_read_byte()
366 ds2482_select_register(pdev, DS2482_PTR_CODE_DATA); in ds2482_w1_read_byte()
369 result = i2c_smbus_read_byte(pdev->client); in ds2482_w1_read_byte()
371 mutex_unlock(&pdev->access_lock); in ds2482_w1_read_byte()
386 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_reset_bus() local
390 mutex_lock(&pdev->access_lock); in ds2482_w1_reset_bus()
393 ds2482_wait_1wire_idle(pdev); in ds2482_w1_reset_bus()
394 if (pdev->w1_count > 1) in ds2482_w1_reset_bus()
395 ds2482_set_channel(pdev, pchan->channel); in ds2482_w1_reset_bus()
398 err = ds2482_send_cmd(pdev, DS2482_CMD_1WIRE_RESET); in ds2482_w1_reset_bus()
401 err = ds2482_wait_1wire_idle(pdev); in ds2482_w1_reset_bus()
406 ds2482_send_cmd_data(pdev, DS2482_CMD_WRITE_CONFIG, in ds2482_w1_reset_bus()
410 mutex_unlock(&pdev->access_lock); in ds2482_w1_reset_bus()
418 struct ds2482_data *pdev = pchan->pdev; in ds2482_w1_set_pullup() local
430 ds2482_wait_1wire_idle(pdev); in ds2482_w1_set_pullup()
432 retval = ds2482_send_cmd_data(pdev, DS2482_CMD_WRITE_CONFIG, in ds2482_w1_set_pullup()
435 ds2482_wait_1wire_idle(pdev); in ds2482_w1_set_pullup()
493 data->w1_ch[idx].pdev = data; in ds2482_probe()
507 data->w1_ch[idx].pdev = NULL; in ds2482_probe()
516 if (data->w1_ch[idx].pdev != NULL) in ds2482_probe()
532 if (data->w1_ch[idx].pdev != NULL) in ds2482_remove()