/dev/video0文件是由sysdrv/source/kernel/drivers/media/platform/rockchip/cif/capture.c裏面的rkcif_fops變量定義的。
static const struct v4l2_file_operations rkcif_fops = {
.open = rkcif_fh_open,
.release = rkcif_fh_release,
.unlocked_ioctl = video_ioctl2,
.poll = vb2_fop_poll,
.mmap = vb2_fop_mmap,
#ifdef CONFIG_COMPAT
.compat_ioctl32 = video_ioctl2,
#endif
};
vdev->fops = &rkcif_fops;
video_register_device(vdev, VFL_TYPE_VIDEO, -1);
打開/dev/video0文件會調用rkcif_fh_open函數,關閉/dev/video0文件會調用rkcif_fh_release函數。在文件上面執行ioctl函數會調用video_ioctl2函數。