/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函数。