*参照元 [#hcc9e317] #backlinks *説明 [#r476abc8] -パス: [[linux-4.4.1/drivers/media/usb/uvc/uvc_queue.c]] -FIXME: これは何? --説明 **引数 [#u76788da] -struct uvc_video_queue *queue -- --[[linux-4.4.1/uvc_video_queue]] -enum v4l2_buf_type type -- --[[linux-4.4.1/v4l2_buf_type]] -int drop_corrupted -- **返り値 [#r2ed6d99] -int -- **参考 [#jda4a45d] *実装 [#gcb99449] int uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type, int drop_corrupted) { int ret; queue->queue.type = type; queue->queue.io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; queue->queue.drv_priv = queue; queue->queue.buf_struct_size = sizeof(struct uvc_buffer); queue->queue.ops = &uvc_queue_qops; queue->queue.mem_ops = &vb2_vmalloc_memops; queue->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC | V4L2_BUF_FLAG_TSTAMP_SRC_SOE; queue->queue.lock = &queue->mutex; ret = vb2_queue_init(&queue->queue); if (ret) return ret; - --[[linux-4.4.1/uvc_buffer]] --[[linux-4.4.1/uvc_queue_qops(global)]] --[[linux-4.4.1/vb2_vmalloc_memops(global)]] --[[linux-4.4.1/vb2_queue_init()]] mutex_init(&queue->mutex); spin_lock_init(&queue->irqlock); INIT_LIST_HEAD(&queue->irqqueue); queue->flags = drop_corrupted ? UVC_QUEUE_DROP_CORRUPTED : 0; - --[[linux-4.4.1/mutex_init()]] --[[linux-4.4.1/spin_lock_init()]] --[[linux-4.4.1/INIT_LIST_HEAD()]] return 0; } *コメント [#q59b0c3c]