usbtv 67 drivers/media/usb/usbtv/usbtv-audio.c struct usbtv *chip = snd_pcm_substream_chip(substream); usbtv 78 drivers/media/usb/usbtv/usbtv-audio.c struct usbtv *chip = snd_pcm_substream_chip(substream); usbtv 92 drivers/media/usb/usbtv/usbtv-audio.c struct usbtv *chip = snd_pcm_substream_chip(substream); usbtv 114 drivers/media/usb/usbtv/usbtv-audio.c struct usbtv *chip = snd_pcm_substream_chip(substream); usbtv 124 drivers/media/usb/usbtv/usbtv-audio.c struct usbtv *chip = urb->context; usbtv 196 drivers/media/usb/usbtv/usbtv-audio.c static int usbtv_audio_start(struct usbtv *chip) usbtv 255 drivers/media/usb/usbtv/usbtv-audio.c static int usbtv_audio_stop(struct usbtv *chip) usbtv 280 drivers/media/usb/usbtv/usbtv-audio.c void usbtv_audio_suspend(struct usbtv *usbtv) usbtv 282 drivers/media/usb/usbtv/usbtv-audio.c if (atomic_read(&usbtv->snd_stream) && usbtv->snd_bulk_urb) usbtv 283 drivers/media/usb/usbtv/usbtv-audio.c usb_kill_urb(usbtv->snd_bulk_urb); usbtv 286 drivers/media/usb/usbtv/usbtv-audio.c void usbtv_audio_resume(struct usbtv *usbtv) usbtv 288 drivers/media/usb/usbtv/usbtv-audio.c if (atomic_read(&usbtv->snd_stream) && usbtv->snd_bulk_urb) usbtv 289 drivers/media/usb/usbtv/usbtv-audio.c usb_submit_urb(usbtv->snd_bulk_urb, GFP_ATOMIC); usbtv 294 drivers/media/usb/usbtv/usbtv-audio.c struct usbtv *chip = container_of(work, struct usbtv, snd_trigger); usbtv 307 drivers/media/usb/usbtv/usbtv-audio.c struct usbtv *chip = snd_pcm_substream_chip(substream); usbtv 331 drivers/media/usb/usbtv/usbtv-audio.c struct usbtv *chip = snd_pcm_substream_chip(substream); usbtv 347 drivers/media/usb/usbtv/usbtv-audio.c int usbtv_audio_init(struct usbtv *usbtv) usbtv 353 drivers/media/usb/usbtv/usbtv-audio.c INIT_WORK(&usbtv->snd_trigger, snd_usbtv_trigger); usbtv 354 drivers/media/usb/usbtv/usbtv-audio.c atomic_set(&usbtv->snd_stream, 0); usbtv 356 drivers/media/usb/usbtv/usbtv-audio.c rv = snd_card_new(&usbtv->udev->dev, SNDRV_DEFAULT_IDX1, "usbtv", usbtv 361 drivers/media/usb/usbtv/usbtv-audio.c strscpy(card->driver, usbtv->dev->driver->name, sizeof(card->driver)); usbtv 364 drivers/media/usb/usbtv/usbtv-audio.c "USBTV Audio at bus %d device %d", usbtv->udev->bus->busnum, usbtv 365 drivers/media/usb/usbtv/usbtv-audio.c usbtv->udev->devnum); usbtv 367 drivers/media/usb/usbtv/usbtv-audio.c snd_card_set_dev(card, usbtv->dev); usbtv 369 drivers/media/usb/usbtv/usbtv-audio.c usbtv->snd = card; usbtv 377 drivers/media/usb/usbtv/usbtv-audio.c pcm->private_data = usbtv; usbtv 391 drivers/media/usb/usbtv/usbtv-audio.c usbtv->snd = NULL; usbtv 397 drivers/media/usb/usbtv/usbtv-audio.c void usbtv_audio_free(struct usbtv *usbtv) usbtv 399 drivers/media/usb/usbtv/usbtv-audio.c cancel_work_sync(&usbtv->snd_trigger); usbtv 401 drivers/media/usb/usbtv/usbtv-audio.c if (usbtv->snd && usbtv->udev) { usbtv 402 drivers/media/usb/usbtv/usbtv-audio.c snd_card_free(usbtv->snd); usbtv 403 drivers/media/usb/usbtv/usbtv-audio.c usbtv->snd = NULL; usbtv 47 drivers/media/usb/usbtv/usbtv-core.c int usbtv_set_regs(struct usbtv *usbtv, const u16 regs[][2], int size) usbtv 50 drivers/media/usb/usbtv/usbtv-core.c int pipe = usb_rcvctrlpipe(usbtv->udev, 0); usbtv 57 drivers/media/usb/usbtv/usbtv-core.c ret = usb_control_msg(usbtv->udev, pipe, USBTV_REQUEST_REG, usbtv 73 drivers/media/usb/usbtv/usbtv-core.c struct usbtv *usbtv; usbtv 90 drivers/media/usb/usbtv/usbtv-core.c usbtv = kzalloc(sizeof(struct usbtv), GFP_KERNEL); usbtv 91 drivers/media/usb/usbtv/usbtv-core.c if (usbtv == NULL) usbtv 93 drivers/media/usb/usbtv/usbtv-core.c usbtv->dev = dev; usbtv 94 drivers/media/usb/usbtv/usbtv-core.c usbtv->udev = usb_get_dev(interface_to_usbdev(intf)); usbtv 96 drivers/media/usb/usbtv/usbtv-core.c usbtv->iso_size = size; usbtv 98 drivers/media/usb/usbtv/usbtv-core.c usb_set_intfdata(intf, usbtv); usbtv 100 drivers/media/usb/usbtv/usbtv-core.c ret = usbtv_video_init(usbtv); usbtv 104 drivers/media/usb/usbtv/usbtv-core.c ret = usbtv_audio_init(usbtv); usbtv 109 drivers/media/usb/usbtv/usbtv-core.c v4l2_device_get(&usbtv->v4l2_dev); usbtv 116 drivers/media/usb/usbtv/usbtv-core.c usb_get_dev(usbtv->udev); usbtv 117 drivers/media/usb/usbtv/usbtv-core.c usbtv_video_free(usbtv); usbtv 121 drivers/media/usb/usbtv/usbtv-core.c usb_put_dev(usbtv->udev); usbtv 122 drivers/media/usb/usbtv/usbtv-core.c kfree(usbtv); usbtv 129 drivers/media/usb/usbtv/usbtv-core.c struct usbtv *usbtv = usb_get_intfdata(intf); usbtv 133 drivers/media/usb/usbtv/usbtv-core.c if (!usbtv) usbtv 136 drivers/media/usb/usbtv/usbtv-core.c usbtv_audio_free(usbtv); usbtv 137 drivers/media/usb/usbtv/usbtv-core.c usbtv_video_free(usbtv); usbtv 139 drivers/media/usb/usbtv/usbtv-core.c usb_put_dev(usbtv->udev); usbtv 140 drivers/media/usb/usbtv/usbtv-core.c usbtv->udev = NULL; usbtv 144 drivers/media/usb/usbtv/usbtv-core.c v4l2_device_put(&usbtv->v4l2_dev); usbtv 63 drivers/media/usb/usbtv/usbtv-video.c static int usbtv_configure_for_norm(struct usbtv *usbtv, v4l2_std_id norm) usbtv 76 drivers/media/usb/usbtv/usbtv-video.c usbtv->width = params->cap_width; usbtv 77 drivers/media/usb/usbtv/usbtv-video.c usbtv->height = params->cap_height; usbtv 78 drivers/media/usb/usbtv/usbtv-video.c usbtv->n_chunks = usbtv->width * usbtv->height usbtv 80 drivers/media/usb/usbtv/usbtv-video.c usbtv->norm = norm; usbtv 87 drivers/media/usb/usbtv/usbtv-video.c static int usbtv_select_input(struct usbtv *usbtv, int input) usbtv 109 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_set_regs(usbtv, composite, ARRAY_SIZE(composite)); usbtv 112 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_set_regs(usbtv, svideo, ARRAY_SIZE(svideo)); usbtv 119 drivers/media/usb/usbtv/usbtv-video.c usbtv->input = input; usbtv 143 drivers/media/usb/usbtv/usbtv-video.c static int usbtv_select_norm(struct usbtv *usbtv, v4l2_std_id norm) usbtv 237 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_configure_for_norm(usbtv, norm); usbtv 247 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_set_regs(usbtv, ntsc, ARRAY_SIZE(ntsc)); usbtv 249 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_set_regs(usbtv, pal, ARRAY_SIZE(pal)); usbtv 251 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_set_regs(usbtv, secam, ARRAY_SIZE(secam)); usbtv 261 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_set_regs(usbtv, cfg, ARRAY_SIZE(cfg)); usbtv 267 drivers/media/usb/usbtv/usbtv-video.c static int usbtv_setup_capture(struct usbtv *usbtv) usbtv 333 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_set_regs(usbtv, setup, ARRAY_SIZE(setup)); usbtv 337 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_select_norm(usbtv, usbtv->norm); usbtv 341 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_select_input(usbtv, usbtv->input); usbtv 345 drivers/media/usb/usbtv/usbtv-video.c ret = v4l2_ctrl_handler_setup(&usbtv->ctrl); usbtv 391 drivers/media/usb/usbtv/usbtv-video.c static void usbtv_image_chunk(struct usbtv *usbtv, __be32 *chunk) usbtv 404 drivers/media/usb/usbtv/usbtv-video.c if (chunk_no >= usbtv->n_chunks) usbtv 409 drivers/media/usb/usbtv/usbtv-video.c usbtv->frame_id = frame_id; usbtv 410 drivers/media/usb/usbtv/usbtv-video.c usbtv->chunks_done = 0; usbtv 413 drivers/media/usb/usbtv/usbtv-video.c if (usbtv->frame_id != frame_id) usbtv 416 drivers/media/usb/usbtv/usbtv-video.c spin_lock_irqsave(&usbtv->buflock, flags); usbtv 417 drivers/media/usb/usbtv/usbtv-video.c if (list_empty(&usbtv->bufs)) { usbtv 419 drivers/media/usb/usbtv/usbtv-video.c spin_unlock_irqrestore(&usbtv->buflock, flags); usbtv 424 drivers/media/usb/usbtv/usbtv-video.c buf = list_first_entry(&usbtv->bufs, struct usbtv_buf, list); usbtv 429 drivers/media/usb/usbtv/usbtv-video.c usbtv->chunks_done++; usbtv 432 drivers/media/usb/usbtv/usbtv-video.c if (chunk_no == usbtv->n_chunks-1) { usbtv 434 drivers/media/usb/usbtv/usbtv-video.c if (odd && !usbtv->last_odd) { usbtv 436 drivers/media/usb/usbtv/usbtv-video.c enum vb2_buffer_state state = usbtv->chunks_done == usbtv 437 drivers/media/usb/usbtv/usbtv-video.c usbtv->n_chunks ? usbtv 442 drivers/media/usb/usbtv/usbtv-video.c buf->vb.sequence = usbtv->sequence++; usbtv 448 drivers/media/usb/usbtv/usbtv-video.c usbtv->last_odd = odd; usbtv 451 drivers/media/usb/usbtv/usbtv-video.c spin_unlock_irqrestore(&usbtv->buflock, flags); usbtv 460 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = (struct usbtv *)ip->context; usbtv 474 drivers/media/usb/usbtv/usbtv-video.c dev_warn(usbtv->dev, "Bad response for ISO request.\n"); usbtv 485 drivers/media/usb/usbtv/usbtv-video.c usbtv_image_chunk(usbtv, usbtv 492 drivers/media/usb/usbtv/usbtv-video.c dev_warn(usbtv->dev, "Could not resubmit ISO URB\n"); usbtv 495 drivers/media/usb/usbtv/usbtv-video.c static struct urb *usbtv_setup_iso_transfer(struct usbtv *usbtv) usbtv 498 drivers/media/usb/usbtv/usbtv-video.c int size = usbtv->iso_size; usbtv 505 drivers/media/usb/usbtv/usbtv-video.c ip->dev = usbtv->udev; usbtv 506 drivers/media/usb/usbtv/usbtv-video.c ip->context = usbtv; usbtv 507 drivers/media/usb/usbtv/usbtv-video.c ip->pipe = usb_rcvisocpipe(usbtv->udev, USBTV_VIDEO_ENDP); usbtv 527 drivers/media/usb/usbtv/usbtv-video.c static void usbtv_stop(struct usbtv *usbtv) usbtv 534 drivers/media/usb/usbtv/usbtv-video.c struct urb *ip = usbtv->isoc_urbs[i]; usbtv 541 drivers/media/usb/usbtv/usbtv-video.c usbtv->isoc_urbs[i] = NULL; usbtv 545 drivers/media/usb/usbtv/usbtv-video.c spin_lock_irqsave(&usbtv->buflock, flags); usbtv 546 drivers/media/usb/usbtv/usbtv-video.c while (!list_empty(&usbtv->bufs)) { usbtv 547 drivers/media/usb/usbtv/usbtv-video.c struct usbtv_buf *buf = list_first_entry(&usbtv->bufs, usbtv 552 drivers/media/usb/usbtv/usbtv-video.c spin_unlock_irqrestore(&usbtv->buflock, flags); usbtv 555 drivers/media/usb/usbtv/usbtv-video.c static int usbtv_start(struct usbtv *usbtv) usbtv 560 drivers/media/usb/usbtv/usbtv-video.c usbtv_audio_suspend(usbtv); usbtv 562 drivers/media/usb/usbtv/usbtv-video.c ret = usb_set_interface(usbtv->udev, 0, 0); usbtv 566 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_setup_capture(usbtv); usbtv 570 drivers/media/usb/usbtv/usbtv-video.c ret = usb_set_interface(usbtv->udev, 0, 1); usbtv 574 drivers/media/usb/usbtv/usbtv-video.c usbtv_audio_resume(usbtv); usbtv 579 drivers/media/usb/usbtv/usbtv-video.c ip = usbtv_setup_iso_transfer(usbtv); usbtv 584 drivers/media/usb/usbtv/usbtv-video.c usbtv->isoc_urbs[i] = ip; usbtv 594 drivers/media/usb/usbtv/usbtv-video.c usbtv_stop(usbtv); usbtv 601 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *dev = video_drvdata(file); usbtv 612 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *dev = video_drvdata(file); usbtv 643 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = video_drvdata(file); usbtv 645 drivers/media/usb/usbtv/usbtv-video.c f->fmt.pix.width = usbtv->width; usbtv 646 drivers/media/usb/usbtv/usbtv-video.c f->fmt.pix.height = usbtv->height; usbtv 649 drivers/media/usb/usbtv/usbtv-video.c f->fmt.pix.bytesperline = usbtv->width * 2; usbtv 658 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = video_drvdata(file); usbtv 659 drivers/media/usb/usbtv/usbtv-video.c *norm = usbtv->norm; usbtv 666 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = video_drvdata(file); usbtv 669 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv_select_norm(usbtv, norm); usbtv 676 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = video_drvdata(file); usbtv 677 drivers/media/usb/usbtv/usbtv-video.c *i = usbtv->input; usbtv 683 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = video_drvdata(file); usbtv 685 drivers/media/usb/usbtv/usbtv-video.c return usbtv_select_input(usbtv, i); usbtv 724 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = vb2_get_drv_priv(vq); usbtv 725 drivers/media/usb/usbtv/usbtv-video.c unsigned size = USBTV_CHUNK * usbtv->n_chunks * 2 * sizeof(u32); usbtv 740 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = vb2_get_drv_priv(vb->vb2_queue); usbtv 744 drivers/media/usb/usbtv/usbtv-video.c if (usbtv->udev == NULL) { usbtv 749 drivers/media/usb/usbtv/usbtv-video.c spin_lock_irqsave(&usbtv->buflock, flags); usbtv 750 drivers/media/usb/usbtv/usbtv-video.c list_add_tail(&buf->list, &usbtv->bufs); usbtv 751 drivers/media/usb/usbtv/usbtv-video.c spin_unlock_irqrestore(&usbtv->buflock, flags); usbtv 756 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = vb2_get_drv_priv(vq); usbtv 758 drivers/media/usb/usbtv/usbtv-video.c if (usbtv->udev == NULL) usbtv 761 drivers/media/usb/usbtv/usbtv-video.c usbtv->last_odd = 1; usbtv 762 drivers/media/usb/usbtv/usbtv-video.c usbtv->sequence = 0; usbtv 763 drivers/media/usb/usbtv/usbtv-video.c return usbtv_start(usbtv); usbtv 768 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = vb2_get_drv_priv(vq); usbtv 770 drivers/media/usb/usbtv/usbtv-video.c if (usbtv->udev) usbtv 771 drivers/media/usb/usbtv/usbtv-video.c usbtv_stop(usbtv); usbtv 785 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = container_of(ctrl->handler, struct usbtv, usbtv 800 drivers/media/usb/usbtv/usbtv-video.c ret = usb_control_msg(usbtv->udev, usbtv 801 drivers/media/usb/usbtv/usbtv-video.c usb_rcvctrlpipe(usbtv->udev, 0), USBTV_CONTROL_REG, usbtv 852 drivers/media/usb/usbtv/usbtv-video.c ret = usb_control_msg(usbtv->udev, usb_sndctrlpipe(usbtv->udev, 0), usbtv 859 drivers/media/usb/usbtv/usbtv-video.c dev_warn(usbtv->dev, "Failed to submit a control request.\n"); usbtv 871 drivers/media/usb/usbtv/usbtv-video.c struct usbtv *usbtv = container_of(v4l2_dev, struct usbtv, v4l2_dev); usbtv 873 drivers/media/usb/usbtv/usbtv-video.c v4l2_device_unregister(&usbtv->v4l2_dev); usbtv 874 drivers/media/usb/usbtv/usbtv-video.c v4l2_ctrl_handler_free(&usbtv->ctrl); usbtv 875 drivers/media/usb/usbtv/usbtv-video.c vb2_queue_release(&usbtv->vb2q); usbtv 876 drivers/media/usb/usbtv/usbtv-video.c kfree(usbtv); usbtv 879 drivers/media/usb/usbtv/usbtv-video.c int usbtv_video_init(struct usbtv *usbtv) usbtv 883 drivers/media/usb/usbtv/usbtv-video.c (void)usbtv_configure_for_norm(usbtv, V4L2_STD_525_60); usbtv 885 drivers/media/usb/usbtv/usbtv-video.c spin_lock_init(&usbtv->buflock); usbtv 886 drivers/media/usb/usbtv/usbtv-video.c mutex_init(&usbtv->v4l2_lock); usbtv 887 drivers/media/usb/usbtv/usbtv-video.c mutex_init(&usbtv->vb2q_lock); usbtv 888 drivers/media/usb/usbtv/usbtv-video.c INIT_LIST_HEAD(&usbtv->bufs); usbtv 891 drivers/media/usb/usbtv/usbtv-video.c usbtv->vb2q.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; usbtv 892 drivers/media/usb/usbtv/usbtv-video.c usbtv->vb2q.io_modes = VB2_MMAP | VB2_USERPTR | VB2_READ; usbtv 893 drivers/media/usb/usbtv/usbtv-video.c usbtv->vb2q.drv_priv = usbtv; usbtv 894 drivers/media/usb/usbtv/usbtv-video.c usbtv->vb2q.buf_struct_size = sizeof(struct usbtv_buf); usbtv 895 drivers/media/usb/usbtv/usbtv-video.c usbtv->vb2q.ops = &usbtv_vb2_ops; usbtv 896 drivers/media/usb/usbtv/usbtv-video.c usbtv->vb2q.mem_ops = &vb2_vmalloc_memops; usbtv 897 drivers/media/usb/usbtv/usbtv-video.c usbtv->vb2q.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; usbtv 898 drivers/media/usb/usbtv/usbtv-video.c usbtv->vb2q.lock = &usbtv->vb2q_lock; usbtv 899 drivers/media/usb/usbtv/usbtv-video.c ret = vb2_queue_init(&usbtv->vb2q); usbtv 901 drivers/media/usb/usbtv/usbtv-video.c dev_warn(usbtv->dev, "Could not initialize videobuf2 queue\n"); usbtv 906 drivers/media/usb/usbtv/usbtv-video.c v4l2_ctrl_handler_init(&usbtv->ctrl, 4); usbtv 907 drivers/media/usb/usbtv/usbtv-video.c v4l2_ctrl_new_std(&usbtv->ctrl, &usbtv_ctrl_ops, usbtv 909 drivers/media/usb/usbtv/usbtv-video.c v4l2_ctrl_new_std(&usbtv->ctrl, &usbtv_ctrl_ops, usbtv 911 drivers/media/usb/usbtv/usbtv-video.c v4l2_ctrl_new_std(&usbtv->ctrl, &usbtv_ctrl_ops, usbtv 913 drivers/media/usb/usbtv/usbtv-video.c v4l2_ctrl_new_std(&usbtv->ctrl, &usbtv_ctrl_ops, usbtv 915 drivers/media/usb/usbtv/usbtv-video.c v4l2_ctrl_new_std(&usbtv->ctrl, &usbtv_ctrl_ops, usbtv 917 drivers/media/usb/usbtv/usbtv-video.c ret = usbtv->ctrl.error; usbtv 919 drivers/media/usb/usbtv/usbtv-video.c dev_warn(usbtv->dev, "Could not initialize controls\n"); usbtv 924 drivers/media/usb/usbtv/usbtv-video.c usbtv->v4l2_dev.ctrl_handler = &usbtv->ctrl; usbtv 925 drivers/media/usb/usbtv/usbtv-video.c usbtv->v4l2_dev.release = usbtv_release; usbtv 926 drivers/media/usb/usbtv/usbtv-video.c ret = v4l2_device_register(usbtv->dev, &usbtv->v4l2_dev); usbtv 928 drivers/media/usb/usbtv/usbtv-video.c dev_warn(usbtv->dev, "Could not register v4l2 device\n"); usbtv 933 drivers/media/usb/usbtv/usbtv-video.c strscpy(usbtv->vdev.name, "usbtv", sizeof(usbtv->vdev.name)); usbtv 934 drivers/media/usb/usbtv/usbtv-video.c usbtv->vdev.v4l2_dev = &usbtv->v4l2_dev; usbtv 935 drivers/media/usb/usbtv/usbtv-video.c usbtv->vdev.release = video_device_release_empty; usbtv 936 drivers/media/usb/usbtv/usbtv-video.c usbtv->vdev.fops = &usbtv_fops; usbtv 937 drivers/media/usb/usbtv/usbtv-video.c usbtv->vdev.ioctl_ops = &usbtv_ioctl_ops; usbtv 938 drivers/media/usb/usbtv/usbtv-video.c usbtv->vdev.tvnorms = USBTV_TV_STD; usbtv 939 drivers/media/usb/usbtv/usbtv-video.c usbtv->vdev.queue = &usbtv->vb2q; usbtv 940 drivers/media/usb/usbtv/usbtv-video.c usbtv->vdev.lock = &usbtv->v4l2_lock; usbtv 941 drivers/media/usb/usbtv/usbtv-video.c usbtv->vdev.device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_READWRITE | usbtv 943 drivers/media/usb/usbtv/usbtv-video.c video_set_drvdata(&usbtv->vdev, usbtv); usbtv 944 drivers/media/usb/usbtv/usbtv-video.c ret = video_register_device(&usbtv->vdev, VFL_TYPE_GRABBER, -1); usbtv 946 drivers/media/usb/usbtv/usbtv-video.c dev_warn(usbtv->dev, "Could not register video device\n"); usbtv 953 drivers/media/usb/usbtv/usbtv-video.c v4l2_device_unregister(&usbtv->v4l2_dev); usbtv 956 drivers/media/usb/usbtv/usbtv-video.c v4l2_ctrl_handler_free(&usbtv->ctrl); usbtv 957 drivers/media/usb/usbtv/usbtv-video.c vb2_queue_release(&usbtv->vb2q); usbtv 962 drivers/media/usb/usbtv/usbtv-video.c void usbtv_video_free(struct usbtv *usbtv) usbtv 964 drivers/media/usb/usbtv/usbtv-video.c mutex_lock(&usbtv->vb2q_lock); usbtv 965 drivers/media/usb/usbtv/usbtv-video.c mutex_lock(&usbtv->v4l2_lock); usbtv 967 drivers/media/usb/usbtv/usbtv-video.c usbtv_stop(usbtv); usbtv 968 drivers/media/usb/usbtv/usbtv-video.c video_unregister_device(&usbtv->vdev); usbtv 969 drivers/media/usb/usbtv/usbtv-video.c v4l2_device_disconnect(&usbtv->v4l2_dev); usbtv 971 drivers/media/usb/usbtv/usbtv-video.c mutex_unlock(&usbtv->v4l2_lock); usbtv 972 drivers/media/usb/usbtv/usbtv-video.c mutex_unlock(&usbtv->vb2q_lock); usbtv 974 drivers/media/usb/usbtv/usbtv-video.c v4l2_device_put(&usbtv->v4l2_dev); usbtv 129 drivers/media/usb/usbtv/usbtv.h int usbtv_set_regs(struct usbtv *usbtv, const u16 regs[][2], int size); usbtv 131 drivers/media/usb/usbtv/usbtv.h int usbtv_video_init(struct usbtv *usbtv); usbtv 132 drivers/media/usb/usbtv/usbtv.h void usbtv_video_free(struct usbtv *usbtv); usbtv 134 drivers/media/usb/usbtv/usbtv.h int usbtv_audio_init(struct usbtv *usbtv); usbtv 135 drivers/media/usb/usbtv/usbtv.h void usbtv_audio_free(struct usbtv *usbtv); usbtv 136 drivers/media/usb/usbtv/usbtv.h void usbtv_audio_suspend(struct usbtv *usbtv); usbtv 137 drivers/media/usb/usbtv/usbtv.h void usbtv_audio_resume(struct usbtv *usbtv);