成员list文件句柄列表vdev指向structvideo_device的指针ctrl_handler指向structv4l2_ctrl_handler的指针prio文件句柄的优先级,由enumv4l2_priority定义wait事件的等待队列subscribe_lock对订阅列表进行串行化更改;保证添加和del事件回调有序调用subscribed订阅事件列表available等待出队的事件列表navailable可用事件数在可用列表中sequence事件序列号m2m_ctx指向structv4l2_m2m_ctx的指针voidv4l2_fh_init初始化文件句柄。参数structv4l2_fh*fh指向structv4l2_fh的指针structvideo_device*vdev指向structvideo_device的指针描述使用文件句柄的V4L2框架的部分应在此函数中进行初始化。如果驱动程序使用structv4l2_fh,则必须从驱动程序的v4l2_file_operations->open处理程序中调用它。voidv4l2_fh_add将fh添加到video_device的文件句柄列表中。参数structv4l2_fh*fh指向structv4l2_fh的指针描述注意:必须先初始化fh文件句柄。intv4l2_fh_open可以用作v4l2_file_operations的open操作的辅助程序。参数structfile*filp指向structfile的指针描述它分配一个v4l2_fh并将其初始化并添加到与文件指针关联的structvideo_device中。voidv4l2_fh_del从文件句柄列表中删除文件句柄。参数structv4l2_fh*fh指向structv4l2_fh的指针描述如果出现错误,filp->private_data将为NULL,否则它将指向structv4l2_fh。注意:如果驱动程序使用structv4l2_fh,则必须在v4l2_file_operations->release处理程序中调用它。voidv4l2_fh_exit释放与文件句柄相关的资源。参数structv4l2_fh*fh指向structv4l2_fh的指针描述使用v4l2_fh的V4L2框架的部分也必须在此处释放它们的资源。注意:如果驱动程序使用structv4l2_fh,则必须在v4l2_file_operations->release处理程序中调用它。intv4l2_fh_release可以用作v4l2_file_operations的release操作的辅助程序。参数structfile*filp指向structfile的指针描述它删除并退出与文件指针关联的v4l2_fh,并释放它。如果filp->private_data为NULL,则不执行任何操作。此函数始终返回0。intv4l2_fh_is_singular如果此文件句柄是与之关联的video_device打开的唯一文件句柄,则返回参数structv4l2_fh*fh指向structv4l2_fh的指针描述如果fh为NULL,则返回0。intv4l2_fh_is_singular_file如果此文件句柄是与之关联的video_device打开的唯一文件句柄,则返回参数structfile*filp指向structfile的指针描述这是使用structfile作为参数的v4l2_fh_is_singular的辅助函数变体。如果filp->private_data为NULL,则它将返回0。
文章为作者独立观点,不代表股票交易接口观点