file/video_device的private_data,我们可以通过以下这些函数来设置和获取驱动的private_data: void * video_get_drvdata(structvideo_device *vdev) void video_set_drvdata(structvideo_device *vdev, void * data) struct video_device*video_devdata(struct file *file)会返回一个属于file的video_device结构体...
设备的辅助函数,使用其源和目的地videobuf缓冲区。 头文件linux/videodev2.h、media/v4l2-common.h、media/v4l2-device.h、media/v4l2-ioctl.h、media/v4l2-dev.h、media/v4l2-ioctl.h等。 V4l2相关结构体 1.V4l2_device struct v4l2_device{ /*dev->driver_data pointstothis struct. Note:dev might beNUL...
函数xvip_composite_probe是整个驱动的入口,主要工作是初始化驱动的数据结构xvip_composite_device里的通用数据,包括lock、list(entities和dmas),再调用了xvip_composite_v4l2_init()和xvip_graph_init(),最后调用platform_set_drvdata设置平台设备platform_device里的当前设备的数据指针。 4.2. 函数xvip_composite_v4l2_i...
+ video_set_drvdata(vfd, dev);设置驱动程序专有数据 + 所有控件设置为其默认值 + list_add_tail(&dev->vivi_devlist, &vivi_devlist);添加到设备列表 + 构建 v4l2_file_operations 结构体vivi_fops 并实现.open .release .read .poll .mmap函数--- .ioctl 用标准的v4l2控制处理程序 + 构建 v4l2_ioc...
函数xvip_composite_probe是整个驱动的入口,主要工作是初始化驱动的数据结构xvip_composite_device里的通用数据,包括lock、list(entities和dmas),再调用了xvip_composite_v4l2_init()和xvip_graph_init(),最后调用platform_set_drvdata设置平台设备platform_device里的当前设备的数据指针。
intmipi_lgit_lcd_on(struct platform_device *pdev){structmsm_fb_data_type*mfd;intrc =0;intcnt =0; mfd = platform_get_drvdata(pdev);if(!mfd)return-ENODEV;if(mfd->key != MFD_KEY)return-EINVAL;#ifdefLGIT_IEF_SWITCHif(local_mfd0 ==NULL) ...
函数xvip_composite_probe是整个驱动的入口,主要工作是初始化驱动的数据结构xvip_composite_device里的通用数据,包括lock、list(entities和dmas),再调用了xvip_composite_v4l2_init()和xvip_graph_init(),最后调用platform_set_drvdata设置平台设备platform_device里的当前设备的数据指针。
4. 主要函数 4.1. 函数xvip_composite_probe() 函数xvip_composite_probe是整个驱动的入口,主要工作是初始化驱动的数据结构xvip_composite_device里的通用数据,包括lock、list(entities和dmas),再调用了xvip_composite_v4l2_init()和xvip_graph_init(),最后调用platform_set_drvdata设置平台设备platform_device里的当前...
intmdp4_dsi_video_off(struct platform_device *pdev){intret =0;intcndx =0;structmsm_fb_data_type*mfd;structvsycn_ctrl*vctrl;structmdp4_overlay_pipe*pipe;structvsync_update*vp;unsignedlongflags;intundx, need_wait =0; mfd = (struct msm_fb_data_type *)platform_get_drvdata(pdev); ...
函数xvip_composite_probe是整个驱动的入口,主要工作是初始化驱动的数据结构xvip_composite_device里的通用数据,包括lock、list(entities和dmas),再调用了xvip_composite_v4l2_init()和xvip_graph_init(),最后调用platform_set_drvdata设置平台设备platform_device里的当前设备的数据指针。