Lines Matching refs:rio

79 	struct rio_usb_data *rio = &rio_instance;  in open_rio()  local
83 mutex_lock(&(rio->lock)); in open_rio()
85 if (rio->isopen || !rio->present) { in open_rio()
86 mutex_unlock(&(rio->lock)); in open_rio()
90 rio->isopen = 1; in open_rio()
92 init_waitqueue_head(&rio->wait_q); in open_rio()
94 mutex_unlock(&(rio->lock)); in open_rio()
96 dev_info(&rio->rio_dev->dev, "Rio opened.\n"); in open_rio()
104 struct rio_usb_data *rio = &rio_instance; in close_rio() local
106 rio->isopen = 0; in close_rio()
108 dev_info(&rio->rio_dev->dev, "Rio closed.\n"); in close_rio()
115 struct rio_usb_data *rio = &rio_instance; in ioctl_rio() local
122 mutex_lock(&(rio->lock)); in ioctl_rio()
124 if (rio->present == 0 || rio->rio_dev == NULL) { in ioctl_rio()
155 dev_dbg(&rio->rio_dev->dev, in ioctl_rio()
162 result = usb_control_msg(rio->rio_dev, in ioctl_rio()
163 usb_rcvctrlpipe(rio-> rio_dev, 0), in ioctl_rio()
173 dev_err(&rio->rio_dev->dev, in ioctl_rio()
178 dev_dbg(&rio->rio_dev->dev, in ioctl_rio()
226 dev_dbg(&rio->rio_dev->dev, in ioctl_rio()
233 result = usb_control_msg(rio->rio_dev, in ioctl_rio()
234 usb_sndctrlpipe(rio-> rio_dev, 0), in ioctl_rio()
244 dev_err(&rio->rio_dev->dev, in ioctl_rio()
249 dev_dbg(&rio->rio_dev->dev, in ioctl_rio()
266 mutex_unlock(&(rio->lock)); in ioctl_rio()
275 struct rio_usb_data *rio = &rio_instance; in write_rio() local
286 intr = mutex_lock_interruptible(&(rio->lock)); in write_rio()
290 if (rio->present == 0 || rio->rio_dev == NULL) { in write_rio()
291 mutex_unlock(&(rio->lock)); in write_rio()
299 char *obuf = rio->obuf; in write_rio()
303 if (copy_from_user(rio->obuf, buffer, copy_size)) { in write_rio()
309 if (!rio->rio_dev) { in write_rio()
314 mutex_unlock(&(rio->lock)); in write_rio()
318 result = usb_bulk_msg(rio->rio_dev, in write_rio()
319 usb_sndbulkpipe(rio->rio_dev, 2), in write_rio()
322 dev_dbg(&rio->rio_dev->dev, in write_rio()
331 prepare_to_wait(&rio->wait_q, &wait, TASK_INTERRUPTIBLE); in write_rio()
333 finish_wait(&rio->wait_q, &wait); in write_rio()
342 dev_err(&rio->rio_dev->dev, "Write Whoops - %x\n", in write_rio()
352 mutex_unlock(&(rio->lock)); in write_rio()
357 mutex_unlock(&(rio->lock)); in write_rio()
365 struct rio_usb_data *rio = &rio_instance; in read_rio() local
374 intr = mutex_lock_interruptible(&(rio->lock)); in read_rio()
378 if (rio->present == 0 || rio->rio_dev == NULL) { in read_rio()
379 mutex_unlock(&(rio->lock)); in read_rio()
383 ibuf = rio->ibuf; in read_rio()
390 mutex_unlock(&(rio->lock)); in read_rio()
393 if (!rio->rio_dev) { in read_rio()
394 mutex_unlock(&(rio->lock)); in read_rio()
399 result = usb_bulk_msg(rio->rio_dev, in read_rio()
400 usb_rcvbulkpipe(rio->rio_dev, 1), in read_rio()
404 dev_dbg(&rio->rio_dev->dev, in read_rio()
412 mutex_unlock(&(rio->lock)); in read_rio()
413 dev_err(&rio->rio_dev->dev, in read_rio()
417 prepare_to_wait(&rio->wait_q, &wait, TASK_INTERRUPTIBLE); in read_rio()
419 finish_wait(&rio->wait_q, &wait); in read_rio()
422 mutex_unlock(&(rio->lock)); in read_rio()
423 dev_err(&rio->rio_dev->dev, in read_rio()
428 mutex_unlock(&(rio->lock)); in read_rio()
434 mutex_unlock(&(rio->lock)); in read_rio()
442 mutex_unlock(&(rio->lock)); in read_rio()
466 struct rio_usb_data *rio = &rio_instance; in probe_rio() local
478 rio->rio_dev = dev; in probe_rio()
480 if (!(rio->obuf = kmalloc(OBUF_SIZE, GFP_KERNEL))) { in probe_rio()
486 dev_dbg(&intf->dev, "obuf address:%p\n", rio->obuf); in probe_rio()
488 if (!(rio->ibuf = kmalloc(IBUF_SIZE, GFP_KERNEL))) { in probe_rio()
492 kfree(rio->obuf); in probe_rio()
495 dev_dbg(&intf->dev, "ibuf address:%p\n", rio->ibuf); in probe_rio()
497 mutex_init(&(rio->lock)); in probe_rio()
499 usb_set_intfdata (intf, rio); in probe_rio()
500 rio->present = 1; in probe_rio()
507 struct rio_usb_data *rio = usb_get_intfdata (intf); in disconnect_rio() local
511 if (rio) { in disconnect_rio()
514 mutex_lock(&(rio->lock)); in disconnect_rio()
515 if (rio->isopen) { in disconnect_rio()
516 rio->isopen = 0; in disconnect_rio()
518 rio->rio_dev = NULL; in disconnect_rio()
519 mutex_unlock(&(rio->lock)); in disconnect_rio()
523 kfree(rio->ibuf); in disconnect_rio()
524 kfree(rio->obuf); in disconnect_rio()
528 rio->present = 0; in disconnect_rio()
529 mutex_unlock(&(rio->lock)); in disconnect_rio()