Lines Matching defs:stream

442 	struct uvc_streaming *stream;
444 list_for_each_entry(stream, &dev->streams, list) {
445 if (stream->header.bTerminalLink == id)
446 return stream;
456 static void uvc_stream_delete(struct uvc_streaming *stream)
458 if (stream->async_wq)
459 destroy_workqueue(stream->async_wq);
461 mutex_destroy(&stream->mutex);
463 usb_put_intf(stream->intf);
465 kfree(stream->format);
466 kfree(stream->header.bmaControls);
467 kfree(stream);
473 struct uvc_streaming *stream;
475 stream = kzalloc(sizeof(*stream), GFP_KERNEL);
476 if (stream == NULL)
479 mutex_init(&stream->mutex);
481 stream->dev = dev;
482 stream->intf = usb_get_intf(intf);
483 stream->intfnum = intf->cur_altsetting->desc.bInterfaceNumber;
485 /* Allocate a stream specific work queue for asynchronous tasks. */
486 stream->async_wq = alloc_workqueue("uvcvideo", WQ_UNBOUND | WQ_HIGHPRI,
488 if (!stream->async_wq) {
489 uvc_stream_delete(stream);
493 return stream;
2017 struct uvc_streaming *stream = video_get_drvdata(vdev);
2018 struct uvc_device *dev = stream->dev;
2028 struct uvc_streaming *stream;
2030 list_for_each_entry(stream, &dev->streams, list) {
2031 if (!video_is_registered(&stream->vdev))
2034 video_unregister_device(&stream->vdev);
2035 video_unregister_device(&stream->meta.vdev);
2037 uvc_debugfs_cleanup_stream(stream);
2051 struct uvc_streaming *stream,
2076 vdev->prio = &stream->chain->prio;
2101 video_set_drvdata(vdev, stream);
2115 struct uvc_streaming *stream)
2120 ret = uvc_video_init(stream);
2127 if (stream->type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
2128 stream->chain->caps |= V4L2_CAP_VIDEO_CAPTURE
2131 stream->chain->caps |= V4L2_CAP_VIDEO_OUTPUT;
2133 uvc_debugfs_init_stream(stream);
2136 return uvc_register_video_device(dev, stream, &stream->vdev,
2137 &stream->queue, stream->type,
2147 struct uvc_streaming *stream;
2155 stream = uvc_stream_by_id(dev, term->id);
2156 if (stream == NULL) {
2162 stream->chain = chain;
2163 ret = uvc_register_video(dev, stream);
2170 uvc_meta_register(stream);
2172 term->vdev = &stream->vdev;
2363 struct uvc_streaming *stream;
2378 list_for_each_entry(stream, &dev->streams, list) {
2379 if (stream->intf == intf)
2380 return uvc_video_suspend(stream);
2391 struct uvc_streaming *stream;
2413 list_for_each_entry(stream, &dev->streams, list) {
2414 if (stream->intf == intf) {
2415 ret = uvc_video_resume(stream, reset);
2417 uvc_queue_streamoff(&stream->queue,
2418 stream->queue.queue.type);