Lines Matching refs:data

121 	struct usbtmc_device_data *data = to_usbtmc_data(kref);  in usbtmc_delete()  local
123 usb_put_dev(data->usb_dev); in usbtmc_delete()
129 struct usbtmc_device_data *data; in usbtmc_open() local
138 data = usb_get_intfdata(intf); in usbtmc_open()
139 kref_get(&data->kref); in usbtmc_open()
142 filp->private_data = data; in usbtmc_open()
149 struct usbtmc_device_data *data = file->private_data; in usbtmc_release() local
151 kref_put(&data->kref, usbtmc_delete); in usbtmc_release()
155 static int usbtmc_ioctl_abort_bulk_in(struct usbtmc_device_data *data) in usbtmc_ioctl_abort_bulk_in() argument
165 dev = &data->intf->dev; in usbtmc_ioctl_abort_bulk_in()
170 rv = usb_control_msg(data->usb_dev, in usbtmc_ioctl_abort_bulk_in()
171 usb_rcvctrlpipe(data->usb_dev, 0), in usbtmc_ioctl_abort_bulk_in()
174 data->bTag_last_read, data->bulk_in, in usbtmc_ioctl_abort_bulk_in()
197 current_setting = data->intf->cur_altsetting; in usbtmc_ioctl_abort_bulk_in()
200 data->bulk_in) in usbtmc_ioctl_abort_bulk_in()
209 dev_dbg(&data->intf->dev, "wMaxPacketSize is %d\n", max_size); in usbtmc_ioctl_abort_bulk_in()
216 rv = usb_bulk_msg(data->usb_dev, in usbtmc_ioctl_abort_bulk_in()
217 usb_rcvbulkpipe(data->usb_dev, in usbtmc_ioctl_abort_bulk_in()
218 data->bulk_in), in usbtmc_ioctl_abort_bulk_in()
241 rv = usb_control_msg(data->usb_dev, in usbtmc_ioctl_abort_bulk_in()
242 usb_rcvctrlpipe(data->usb_dev, 0), in usbtmc_ioctl_abort_bulk_in()
245 0, data->bulk_in, buffer, 0x08, in usbtmc_ioctl_abort_bulk_in()
270 rv = usb_bulk_msg(data->usb_dev, in usbtmc_ioctl_abort_bulk_in()
271 usb_rcvbulkpipe(data->usb_dev, in usbtmc_ioctl_abort_bulk_in()
272 data->bulk_in), in usbtmc_ioctl_abort_bulk_in()
300 static int usbtmc_ioctl_abort_bulk_out(struct usbtmc_device_data *data) in usbtmc_ioctl_abort_bulk_out() argument
307 dev = &data->intf->dev; in usbtmc_ioctl_abort_bulk_out()
313 rv = usb_control_msg(data->usb_dev, in usbtmc_ioctl_abort_bulk_out()
314 usb_rcvctrlpipe(data->usb_dev, 0), in usbtmc_ioctl_abort_bulk_out()
317 data->bTag_last_write, data->bulk_out, in usbtmc_ioctl_abort_bulk_out()
337 rv = usb_control_msg(data->usb_dev, in usbtmc_ioctl_abort_bulk_out()
338 usb_rcvctrlpipe(data->usb_dev, 0), in usbtmc_ioctl_abort_bulk_out()
341 0, data->bulk_out, buffer, 0x08, in usbtmc_ioctl_abort_bulk_out()
362 rv = usb_clear_halt(data->usb_dev, in usbtmc_ioctl_abort_bulk_out()
363 usb_sndbulkpipe(data->usb_dev, data->bulk_out)); in usbtmc_ioctl_abort_bulk_out()
384 static int send_request_dev_dep_msg_in(struct usbtmc_device_data *data, size_t transfer_size) in send_request_dev_dep_msg_in() argument
397 buffer[1] = data->bTag; in send_request_dev_dep_msg_in()
398 buffer[2] = ~data->bTag; in send_request_dev_dep_msg_in()
404 buffer[8] = data->TermCharEnabled * 2; in send_request_dev_dep_msg_in()
406 buffer[9] = data->TermChar; in send_request_dev_dep_msg_in()
411 retval = usb_bulk_msg(data->usb_dev, in send_request_dev_dep_msg_in()
412 usb_sndbulkpipe(data->usb_dev, in send_request_dev_dep_msg_in()
413 data->bulk_out), in send_request_dev_dep_msg_in()
417 data->bTag_last_write = data->bTag; in send_request_dev_dep_msg_in()
420 data->bTag++; in send_request_dev_dep_msg_in()
421 if (!data->bTag) in send_request_dev_dep_msg_in()
422 data->bTag++; in send_request_dev_dep_msg_in()
426 dev_err(&data->intf->dev, "usb_bulk_msg in send_request_dev_dep_msg_in() returned %d\n", retval); in send_request_dev_dep_msg_in()
436 struct usbtmc_device_data *data; in usbtmc_read() local
447 data = filp->private_data; in usbtmc_read()
448 dev = &data->intf->dev; in usbtmc_read()
454 mutex_lock(&data->io_mutex); in usbtmc_read()
455 if (data->zombie) { in usbtmc_read()
460 if (data->rigol_quirk) { in usbtmc_read()
463 retval = send_request_dev_dep_msg_in(data, count); in usbtmc_read()
466 if (data->auto_abort) in usbtmc_read()
467 usbtmc_ioctl_abort_bulk_out(data); in usbtmc_read()
478 if (!data->rigol_quirk) { in usbtmc_read()
486 retval = send_request_dev_dep_msg_in(data, this_part); in usbtmc_read()
489 if (data->auto_abort) in usbtmc_read()
490 usbtmc_ioctl_abort_bulk_out(data); in usbtmc_read()
496 retval = usb_bulk_msg(data->usb_dev, in usbtmc_read()
497 usb_rcvbulkpipe(data->usb_dev, in usbtmc_read()
498 data->bulk_in), in usbtmc_read()
505 data->bTag_last_read = data->bTag; in usbtmc_read()
509 if (data->auto_abort) in usbtmc_read()
510 usbtmc_ioctl_abort_bulk_in(data); in usbtmc_read()
515 if ((done == 0) || !data->rigol_quirk) { in usbtmc_read()
519 if (data->auto_abort) in usbtmc_read()
520 usbtmc_ioctl_abort_bulk_in(data); in usbtmc_read()
526 if (data->auto_abort) in usbtmc_read()
527 usbtmc_ioctl_abort_bulk_in(data); in usbtmc_read()
531 if (buffer[1] != data->bTag_last_write) { in usbtmc_read()
532 dev_err(dev, "Device sent reply with wrong bTag: %u != %u\n", buffer[1], data->bTag_last_write); in usbtmc_read()
533 if (data->auto_abort) in usbtmc_read()
534 usbtmc_ioctl_abort_bulk_in(data); in usbtmc_read()
546 if (data->auto_abort) in usbtmc_read()
547 usbtmc_ioctl_abort_bulk_in(data); in usbtmc_read()
555 if (data->rigol_quirk) { in usbtmc_read()
612 mutex_unlock(&data->io_mutex); in usbtmc_read()
620 struct usbtmc_device_data *data; in usbtmc_write() local
629 data = filp->private_data; in usbtmc_write()
635 mutex_lock(&data->io_mutex); in usbtmc_write()
636 if (data->zombie) { in usbtmc_write()
655 buffer[1] = data->bTag; in usbtmc_write()
656 buffer[2] = ~data->bTag; in usbtmc_write()
676 retval = usb_bulk_msg(data->usb_dev, in usbtmc_write()
677 usb_sndbulkpipe(data->usb_dev, in usbtmc_write()
678 data->bulk_out), in usbtmc_write()
686 data->bTag_last_write = data->bTag; in usbtmc_write()
687 data->bTag++; in usbtmc_write()
689 if (!data->bTag) in usbtmc_write()
690 data->bTag++; in usbtmc_write()
693 dev_err(&data->intf->dev, in usbtmc_write()
695 if (data->auto_abort) in usbtmc_write()
696 usbtmc_ioctl_abort_bulk_out(data); in usbtmc_write()
706 mutex_unlock(&data->io_mutex); in usbtmc_write()
711 static int usbtmc_ioctl_clear(struct usbtmc_device_data *data) in usbtmc_ioctl_clear() argument
722 dev = &data->intf->dev; in usbtmc_ioctl_clear()
730 rv = usb_control_msg(data->usb_dev, in usbtmc_ioctl_clear()
731 usb_rcvctrlpipe(data->usb_dev, 0), in usbtmc_ioctl_clear()
749 current_setting = data->intf->cur_altsetting; in usbtmc_ioctl_clear()
752 if (desc->bEndpointAddress == data->bulk_in) in usbtmc_ioctl_clear()
770 rv = usb_control_msg(data->usb_dev, in usbtmc_ioctl_clear()
771 usb_rcvctrlpipe(data->usb_dev, 0), in usbtmc_ioctl_clear()
795 rv = usb_bulk_msg(data->usb_dev, in usbtmc_ioctl_clear()
796 usb_rcvbulkpipe(data->usb_dev, in usbtmc_ioctl_clear()
797 data->bulk_in), in usbtmc_ioctl_clear()
821 rv = usb_clear_halt(data->usb_dev, in usbtmc_ioctl_clear()
822 usb_sndbulkpipe(data->usb_dev, data->bulk_out)); in usbtmc_ioctl_clear()
834 static int usbtmc_ioctl_clear_out_halt(struct usbtmc_device_data *data) in usbtmc_ioctl_clear_out_halt() argument
838 rv = usb_clear_halt(data->usb_dev, in usbtmc_ioctl_clear_out_halt()
839 usb_sndbulkpipe(data->usb_dev, data->bulk_out)); in usbtmc_ioctl_clear_out_halt()
842 dev_err(&data->usb_dev->dev, "usb_control_msg returned %d\n", in usbtmc_ioctl_clear_out_halt()
849 static int usbtmc_ioctl_clear_in_halt(struct usbtmc_device_data *data) in usbtmc_ioctl_clear_in_halt() argument
853 rv = usb_clear_halt(data->usb_dev, in usbtmc_ioctl_clear_in_halt()
854 usb_rcvbulkpipe(data->usb_dev, data->bulk_in)); in usbtmc_ioctl_clear_in_halt()
857 dev_err(&data->usb_dev->dev, "usb_control_msg returned %d\n", in usbtmc_ioctl_clear_in_halt()
864 static int get_capabilities(struct usbtmc_device_data *data) in get_capabilities() argument
866 struct device *dev = &data->usb_dev->dev; in get_capabilities()
874 rv = usb_control_msg(data->usb_dev, usb_rcvctrlpipe(data->usb_dev, 0), in get_capabilities()
894 data->capabilities.interface_capabilities = buffer[4]; in get_capabilities()
895 data->capabilities.device_capabilities = buffer[5]; in get_capabilities()
896 data->capabilities.usb488_interface_capabilities = buffer[14]; in get_capabilities()
897 data->capabilities.usb488_device_capabilities = buffer[15]; in get_capabilities()
910 struct usbtmc_device_data *data = usb_get_intfdata(intf); \
912 return sprintf(buf, "%d\n", data->capabilities.name); \
937 struct usbtmc_device_data *data = usb_get_intfdata(intf); in TermChar_show() local
939 return sprintf(buf, "%c\n", data->TermChar); in TermChar_show()
947 struct usbtmc_device_data *data = usb_get_intfdata(intf); in TermChar_store() local
951 data->TermChar = buf[0]; in TermChar_store()
961 struct usbtmc_device_data *data = usb_get_intfdata(intf); \
963 return sprintf(buf, "%d\n", data->name); \
970 struct usbtmc_device_data *data = usb_get_intfdata(intf); \
977 data->name = val; \
999 static int usbtmc_ioctl_indicator_pulse(struct usbtmc_device_data *data) in usbtmc_ioctl_indicator_pulse() argument
1005 dev = &data->intf->dev; in usbtmc_ioctl_indicator_pulse()
1011 rv = usb_control_msg(data->usb_dev, in usbtmc_ioctl_indicator_pulse()
1012 usb_rcvctrlpipe(data->usb_dev, 0), in usbtmc_ioctl_indicator_pulse()
1038 struct usbtmc_device_data *data; in usbtmc_ioctl() local
1041 data = file->private_data; in usbtmc_ioctl()
1042 mutex_lock(&data->io_mutex); in usbtmc_ioctl()
1043 if (data->zombie) { in usbtmc_ioctl()
1050 retval = usbtmc_ioctl_clear_out_halt(data); in usbtmc_ioctl()
1054 retval = usbtmc_ioctl_clear_in_halt(data); in usbtmc_ioctl()
1058 retval = usbtmc_ioctl_indicator_pulse(data); in usbtmc_ioctl()
1062 retval = usbtmc_ioctl_clear(data); in usbtmc_ioctl()
1066 retval = usbtmc_ioctl_abort_bulk_out(data); in usbtmc_ioctl()
1070 retval = usbtmc_ioctl_abort_bulk_in(data); in usbtmc_ioctl()
1075 mutex_unlock(&data->io_mutex); in usbtmc_ioctl()
1099 struct usbtmc_device_data *data; in usbtmc_probe() local
1107 data = devm_kzalloc(&intf->dev, sizeof(*data), GFP_KERNEL); in usbtmc_probe()
1108 if (!data) in usbtmc_probe()
1111 data->intf = intf; in usbtmc_probe()
1112 data->id = id; in usbtmc_probe()
1113 data->usb_dev = usb_get_dev(interface_to_usbdev(intf)); in usbtmc_probe()
1114 usb_set_intfdata(intf, data); in usbtmc_probe()
1115 kref_init(&data->kref); in usbtmc_probe()
1116 mutex_init(&data->io_mutex); in usbtmc_probe()
1117 data->zombie = 0; in usbtmc_probe()
1120 data->rigol_quirk = 0; in usbtmc_probe()
1122 le16_to_cpu(data->usb_dev->descriptor.idVendor), in usbtmc_probe()
1123 le16_to_cpu(data->usb_dev->descriptor.idProduct)); in usbtmc_probe()
1125 if ((usbtmc_id_quirk[n].idVendor == le16_to_cpu(data->usb_dev->descriptor.idVendor)) && in usbtmc_probe()
1126 (usbtmc_id_quirk[n].idProduct == le16_to_cpu(data->usb_dev->descriptor.idProduct))) { in usbtmc_probe()
1128 data->rigol_quirk = 1; in usbtmc_probe()
1134 data->bTag = 1; in usbtmc_probe()
1135 data->TermCharEnabled = 0; in usbtmc_probe()
1136 data->TermChar = '\n'; in usbtmc_probe()
1139 iface_desc = data->intf->cur_altsetting; in usbtmc_probe()
1146 data->bulk_in = endpoint->bEndpointAddress; in usbtmc_probe()
1148 data->bulk_in); in usbtmc_probe()
1158 data->bulk_out = endpoint->bEndpointAddress; in usbtmc_probe()
1160 data->bulk_out); in usbtmc_probe()
1165 retcode = get_capabilities(data); in usbtmc_probe()
1188 kref_put(&data->kref, usbtmc_delete); in usbtmc_probe()
1194 struct usbtmc_device_data *data; in usbtmc_disconnect() local
1198 data = usb_get_intfdata(intf); in usbtmc_disconnect()
1202 mutex_lock(&data->io_mutex); in usbtmc_disconnect()
1203 data->zombie = 1; in usbtmc_disconnect()
1204 mutex_unlock(&data->io_mutex); in usbtmc_disconnect()
1205 kref_put(&data->kref, usbtmc_delete); in usbtmc_disconnect()