地址:linux-2.6.19/drivers/media/video/mxc/output/Mx27_v4l2_output.c
三个结构分析,mxc_v4l2out_fops 向上层注册其操作,但其上层不是操作系统而是v4l2
static struct file_operations mxc_v4l2out_fops = {
.owner = THIS_MODULE,
.open = mxc_v4l2out_open,
.release = mxc_v4l2out_close,
.ioctl = mxc_v4l2out_ioctl,
.mmap = mxc_v4l2out_mmap,
.poll = mxc_v4l2out_poll,
};
设备结构有两个, 因为即使平台设备,又是v4l2设备,,,分别想两个地方注册。
static struct video_device mxc_v4l2out_template = {//v4l2设备
.owner = THIS_MODULE,
.name = "MXC Video Output",
.type = 0,
.type2 = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING,
.hardware = 39,
.fops = &mxc_v4l2out_fops,
.release = video_device_release,
};
static struct platform_device mxc_v4l2out_device = {//平台设备
.name = "MXC Video Output",
.dev =