Chinese translated version of Documentation/video4linux/v4l2-framework.txt

If you have any comment or update to the content, please contact the
original document maintainer directly.  However, if you have a problem
communicating in English you can also ask the Chinese maintainer for
help.  Contact the Chinese maintainer if this translation is outdated
or if there is a problem with the translation.

Maintainer: Mauro Carvalho Chehab <mchehab@infradead.org>
Chinese maintainer: Fu Wei <tekkamanninja@gmail.com>
---------------------------------------------------------------------
Documentation/video4linux/v4l2-framework.txt 的中文翻译

如果想评论或更新本文的内容，请直接联系原文档的维护者。如果你使用英文
交流有困难的话，也可以向中文版维护者求助。如果本翻译更新不及时或者翻
译存在问题，请联系中文版维护者。
英文版维护者： Mauro Carvalho Chehab <mchehab@infradead.org>
中文版维护者： 傅炜 Fu Wei <tekkamanninja@gmail.com>
中文版翻译者： 傅炜 Fu Wei <tekkamanninja@gmail.com>
中文版校译者： 傅炜 Fu Wei <tekkamanninja@gmail.com>


以下为正文
---------------------------------------------------------------------
V4L2 驱动框架概览
==============

本文档描述 V4L2 框架所提供的各种结构和它们之间的关系。


介绍
----

大部分现代 V4L2 设备由多个 IC 组成，在 /dev 下导出多个设备节点，
并同时创建非 V4L2 设备（如 DVB、ALSA、FB、I2C 和红外输入设备）。
由于这种硬件的复杂性，V4L2 驱动也变得非常复杂。

尤其是 V4L2 必须支持 IC 实现音视频的多路复用和编解码，这就更增加了其
复杂性。通常这些 IC 通过一个或多个 I2C 总线连接到主桥驱动器，但也可
使用其他总线。这些设备称为“子设备”。

长期以来，这个框架仅限于通过 video_device 结构体创建 V4L 设备节点，
并使用 video_buf 处理视频缓冲（注：本文不讨论 video_buf 框架）。

这意味着所有驱动必须自己设置设备实例并连接到子设备。其中一部分要正确地
完成是比较复杂的，使得许多驱动都没有正确地实现。

由于框架的缺失，有很多通用代码都不可重复利用。

因此，这个框架构建所有驱动都需要的基本结构块，而统一的框架将使通用代码
创建成实用函数并在所有驱动中共享变得更加容易。


驱动结构
-------

所有 V4L2 驱动都有如下结构：

1) 每个设备实例的结构体--包含其设备状态。

2) 初始化和控制子设备的方法（如果有）。

3) 创建 V4L2 设备节点 (/dev/videoX、/dev/vbiX 和 /dev/radioX)
   并跟踪设备节点的特定数据。

4) 特定文件句柄结构体--包含每个文件句柄的数据。

5) 视频缓冲处理。

以下是它们的初略关系图：

    device instances（设备实例）
      |
      +-sub-device instances（子设备实例）
      |
      \-V4L2 device nodes（V4L2 设备节点）
	  |
	  \-filehandle instances（文件句柄实例）


框架结构
-------

该框架非常类似驱动结构：它有一个 v4l2_device 结构用于保存设备
实例的数据；一个 v4l2_subdev 结构体代表子设备实例；video_device
结构体保存 V4L2 设备节点的数据；将来 v4l2_fh 结构体将跟踪文件句柄
实例（暂未尚未实现）。

V4L2 框架也可与媒体框架整合（可选的）。如果驱动设置了 v4l2_device
结构体的 mdev 域，子设备和视频节点的入口将自动出现在媒体框架中。


v4l2_device 结构体
----------------

每个设备实例都通过 v4l2_device (v4l2-device.h)结构体来表示。
简单设备可以仅分配这个结构体，但在大多数情况下，都会将这个结构体
嵌入到一个更大的结构体中。

你必须注册这个设备实例：

	v4l2_device_register(struct device *dev, struct v4l2_device *v4l2_dev);

注册操作将会初始化 v4l2_device 结构体。如果 dev->driver_data 域
为 NULL，就将其指向 v4l2_dev。

需要与媒体框架整合的驱动必须手动设置 dev->driver_data，指向包含
v4l2_device 结构体实例的驱动特定设备结构体。这可以在注册 V4L2 设备
实例前通过 dev_set_drvdata() 函数完成。同时必须设置 v4l2_device
结构体的 mdev 域，指向适当的初始化并注册过的 media_device 实例。

如果 v4l2_dev->name 为空，则它将被设置为从 dev 中衍生出的值（为了
更加精确，形式为驱动名后跟 bus_id）。如果你在调用 v4l2_device_register
前已经设置好了，则不会被修改。如果 dev 为 NULL，则你*必须*在调用
v4l2_device_register 前设置 v4l2_dev->name。

你可以基于驱动名和驱动的全局 atomic_t 类型的实例编号，通过
v4l2_device_set_name() 设置 name。这样会生成类似 ivtv0、ivtv1 等
名字。若驱动名以数字结尾，则会在编号和驱动名间插入一个破折号，如：
cx18-0、cx18-1 等。此函数返回实例编号。

第一个 “dev” 参数通常是一个指向 pci_dev、usb_interface 或
platform_device 的指针。很少使其为 NULL，除非是一个ISA设备或者
当一个设备创建了多个 PCI 设备，使得 v4l2_dev 无法与一个特定的父设备
关联。

你也可以提供一个 notify() 回调，使子设备可以调用它实现事件通知。
但这个设置与子设备相关。子设备支持的任何通知必须在
include/media/<subdevice>.h 中定义一个消息头。

注销 v4l2_device 使用如下函数：

	v4l2_device_unregister(struct v4l2_device *v4l2_dev);

如果 dev->driver_data 域指向 v4l2_dev，将会被重置为 NULL。注销同时
会自动从设备中注销所有子设备。

如果你有一个热插拔设备（如USB设备），则当断开发生时，父设备将无效。
由于 v4l2_device 有一个指向父设备的指针必须被清除，同时标志父设备
已消失，所以必须调用以下函数：

	v4l2_device_disconnect(struct v4l2_device *v4l2_dev);

这个函数并*不*注销子设备，因此你依然要调用 v4l2_device_unregister()
函数。如果你的驱动器并非热插拔的，就没有必要调用 v4l2_device_disconnect()。

有时你需要遍历所有被特定驱动注册的设备。这通常发生在多个设备驱动使用
同一个硬件的情况下。如：ivtvfb 驱动是一个使用 ivtv 硬件的帧缓冲驱动，
同时 alsa 驱动也使用此硬件。

你可以使用如下例程遍历所有注册的设备：

static int callback(struct device *dev, void *p)
{
	struct v4l2_device *v4l2_dev = dev_get_drvdata(dev);

	/* 测试这个设备是否已经初始化 */
	if (v4l2_dev == NULL)
		return 0;
	...
	return 0;
}

int iterate(void *p)
{
	struct device_driver *drv;
	int err;

	/* 在PCI 总线上查找ivtv驱动。
	   pci_bus_type是全局的. 对于USB总线使用usb_bus_type。 */
	drv = driver_find("ivtv", &pci_bus_type);
	/* 遍历所有的ivtv设备实例 */
	err = driver_for_each_device(drv, NULL, p, callback);
	put_driver(drv);
	return err;
}

有时你需要一个设备实例的运行计数。这个通常用于映射一个设备实例到一个
模块选择数组的索引。

推荐方法如下：

static atomic_t drv_instance = ATOMIC_INIT(0);

static int drv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
{
	...
	state->instance = atomic_inc_return(&drv_instance) - 1;
}

如果你有多个设备节点，对于热插拔设备，知道何时注销 v4l2_device 结构体
就比较困难。为此 v4l2_device 有引用计数支持。当调用 video_register_device
时增加引用计数，而设备节点释放时减小引用计数。当引用计数为零，则
v4l2_device 的release() 回调将被执行。你就可以在此时做最后的清理工作。

如果创建了其他设备节点（比如 ALSA），则你可以通过以下函数手动增减
引用计数：

void v4l2_device_get(struct v4l2_device *v4l2_dev);

或:

int v4l2_device_put(struct v4l2_device *v4l2_dev);

由于引用技术初始化为 1 ，你也需要在 disconnect() 回调（对于 USB 设备）中
调用 v4l2_device_put，或者 remove() 回调（例如对于 PCI 设备），否则
引用计数将永远不会为 0 。

v4l2_subdev结构体
------------------

许多驱动需要与子设备通信。这些设备可以完成各种任务，但通常他们负责
音视频复用和编解码。如网络摄像头的子设备通常是传感器和摄像头控制器。

这些一般为 I2C 接口设备，但并不一定都是。为了给驱动提供调用子设备的
统一接口，v4l2_subdev 结构体（v4l2-subdev.h）产生了。

每个子设备驱动都必须有一个 v4l2_subdev 结构体。这个结构体可以单独
代表一个简单的子设备，也可以嵌入到一个更大的结构体中，与更多设备状态
信息保存在一起。通常有一个下级设备结构体（比如：i2c_client）包含了
内核创建的设备数据。建议使用 v4l2_set_subdevdata() 将这个结构体的
指针保存在 v4l2_subdev 的私有数据域(dev_priv)中。这使得通过 v4l2_subdev
找到实际的低层总线特定设备数据变得容易。

你同时需要一个从低层结构体获取 v4l2_subdev 指针的方法。对于常用的
i2c_client 结构体，i2c_set_clientdata() 函数可用于保存一个 v4l2_subdev
指针；对于其他总线你可能需要使用其他相关函数。

桥驱动中也应保存每个子设备的私有数据，比如一个指向特定桥的各设备私有
数据的指针。为此 v4l2_subdev 结构体提供主机私有数据域(host_priv)，
并可通过 v4l2_get_subdev_hostdata() 和 v4l2_set_subdev_hostdata()
访问。

从总线桥驱动的视角，驱动加载子设备模块并以某种方式获得 v4l2_subdev
结构体指针。对于 i2c 总线设备相对简单：调用 i2c_get_clientdata()。
对于其他总线也需要做类似的操作。针对 I2C 总线上的子设备辅助函数帮你
完成了大部分复杂的工作。

每个 v4l2_subdev 都包含子设备驱动需要实现的函数指针（如果对此设备
不适用，可为NULL）。由于子设备可完成许多不同的工作，而在一个庞大的
函数指针结构体中通常仅有少数有用的函数实现其功能肯定不合适。所以，
函数指针根据其实现的功能被分类，每一类都有自己的函数指针结构体。

顶层函数指针结构体包含了指向各类函数指针结构体的指针，如果子设备驱动
不支持该类函数中的任何一个功能，则指向该类结构体的指针为NULL。

这些结构体定义如下：

struct v4l2_subdev_core_ops {
	int (*g_chip_ident)(struct v4l2_subdev *sd, struct v4l2_dbg_chip_ident *chip);
	int (*log_status)(struct v4l2_subdev *sd);
	int (*init)(struct v4l2_subdev *sd, u32 val);
	...
};

struct v4l2_subdev_tuner_ops {
	...
};

struct v4l2_subdev_audio_ops {
	...
};

struct v4l2_subdev_video_ops {
	...
};

struct v4l2_subdev_pad_ops {
	...
};

struct v4l2_subdev_ops {
	const struct v4l2_subdev_core_ops  *core;
	const struct v4l2_subdev_tuner_ops *tuner;
	const struct v4l2_subdev_audio_ops *audio;
	const struct v4l2_subdev_video_ops *video;
	const struct v4l2_subdev_pad_ops *video;
};

其中 core（核心）函数集通常可用于所有子设备，其他类别的实现依赖于
子设备。如视频设备可能不支持音频操作函数，反之亦然。

这样的设置在限制了函数指针数量的同时，还使增加新的操作函数和分类
变得较为容易。

子设备驱动可使用如下函数初始化 v4l2_subdev 结构体：

	v4l2_subdev_init(sd, &ops);

然后，你必须用一个唯一的名字初始化 subdev->name，并初始化模块的
owner 域。若使用 i2c 辅助函数，这些都会帮你处理好。

若需同媒体框架整合，你必须调用 media_entity_init() 初始化 v4l2_subdev
结构体中的 media_entity 结构体（entity 域）：

	struct media_pad *pads = &my_sd->pads;
	int err;

	err = media_entity_init(&sd->entity, npads, pads, 0);

pads 数组必须预先初始化。无须手动设置 media_entity 的 type 和
name 域，但如有必要，revision 域必须初始化。

当（任何）子设备节点被打开/关闭，对 entity 的引用将被自动获取/释放。

在子设备被注销之后，不要忘记清理 media_entity 结构体：

	media_entity_cleanup(&sd->entity);

如果子设备驱动趋向于处理视频并整合进了媒体框架，必须使用 v4l2_subdev_pad_ops
替代 v4l2_subdev_video_ops 实现格式相关的功能。

这种情况下，子设备驱动应该设置 link_validate 域，以提供它自身的链接
验证函数。链接验证函数应对管道（两端链接的都是 V4L2 子设备）中的每个
链接调用。驱动还要负责验证子设备和视频节点间格式配置的正确性。

如果 link_validate 操作没有设置，默认的 v4l2_subdev_link_validate_default()
函数将会被调用。这个函数保证宽、高和媒体总线像素格式在链接的收发两端
都一致。子设备驱动除了它们自己的检测外，也可以自由使用这个函数以执行
上面提到的检查。

设备（桥）驱动程序必须向 v4l2_device 注册 v4l2_subdev：

	int err = v4l2_device_register_subdev(v4l2_dev, sd);

如果子设备模块在它注册前消失，这个操作可能失败。在这个函数成功返回后，
subdev->dev 域就指向了 v4l2_device。

如果 v4l2_device 父设备的 mdev 域为非 NULL 值，则子设备实体将被自动
注册为媒体设备。

注销子设备则可用如下函数：

	v4l2_device_unregister_subdev(sd);

此后，子设备模块就可卸载，且 sd->dev == NULL。

注册之设备后，可通过以下方式直接调用其操作函数：

	err = sd->ops->core->g_chip_ident(sd, &chip);

但使用如下宏会比较容易且合适：

	err = v4l2_subdev_call(sd, core, g_chip_ident, &chip);

这个宏将会做 NULL 指针检查，如果 subdev 为 NULL，则返回-ENODEV；如果
subdev->core 或 subdev->core->g_chip_ident 为 NULL，则返回 -ENOIOCTLCMD；
否则将返回 subdev->ops->core->g_chip_ident ops 调用的实际结果。

有时也可能同时调用所有或一系列子设备的某个操作函数：

	v4l2_device_call_all(v4l2_dev, 0, core, g_chip_ident, &chip);

任何不支持此操作的子设备都会被跳过，并忽略错误返回值。但如果你需要
检查出错码，则可使用如下函数：

	err = v4l2_device_call_until_err(v4l2_dev, 0, core, g_chip_ident, &chip);

除 -ENOIOCTLCMD 外的任何错误都会跳出循环并返回错误值。如果（除 -ENOIOCTLCMD
外）没有错误发生，则返回 0。

对于以上两个函数的第二个参数为组 ID。如果为 0，则所有子设备都会执行
这个操作。如果为非 0 值，则只有那些组 ID 匹配的子设备才会执行此操作。
在桥驱动注册一个子设备前，可以设置 sd->grp_id 为任何期望值（默认值为
0）。这个值属于桥驱动，且子设备驱动将不会修改和使用它。

组 ID 赋予了桥驱动更多对于如何调用回调的控制。例如，电路板上有多个
音频芯片，每个都有改变音量的能力。但当用户想要改变音量的时候，通常
只有一个会被实际使用。你可以对这样的子设备设置组 ID 为（例如 AUDIO_CONTROLLER）
并在调用 v4l2_device_call_all() 时指定它为组 ID 值。这就保证了只有
需要的子设备才会执行这个回调。

如果子设备需要通知它的 v4l2_device 父设备一个事件，可以调用
v4l2_subdev_notify(sd, notification, arg)。这个宏检查是否有一个
notify() 回调被注册，如果没有，返回 -ENODEV。否则返回 notify() 调用
结果。

使用 v4l2_subdev 的好处在于它是一个通用结构体，且不包含任何底层硬件
信息。所有驱动可以包含多个 I2C 总线的子设备，但也有子设备是通过 GPIO
控制。这个区别仅在配置设备时有关系，一旦子设备注册完成，对于 v4l2
子系统来说就完全透明了。


V4L2 子设备用户空间API
--------------------

除了通过 v4l2_subdev_ops 结构导出的内核 API，V4L2 子设备也可以直接
通过用户空间应用程序来控制。

可以在 /dev 中创建名为 v4l-subdevX 设备节点，以通过其直接访问子设备。
如果子设备支持用户空间直接配置，必须在注册前设置 V4L2_SUBDEV_FL_HAS_DEVNODE
标志。

注册子设备之后， v4l2_device 驱动会通过调用 v4l2_device_register_subdev_nodes()
函数为所有已注册并设置了 V4L2_SUBDEV_FL_HAS_DEVNODE 的子设备创建
设备节点。这些设备节点会在子设备注销时自动删除。

这些设备节点处理 V4L2 API 的一个子集。

VIDIOC_QUERYCTRL
VIDIOC_QUERYMENU
VIDIOC_G_CTRL
VIDIOC_S_CTRL
VIDIOC_G_EXT_CTRLS
VIDIOC_S_EXT_CTRLS
VIDIOC_TRY_EXT_CTRLS

	这些 ioctls 控制与 V4L2 中定义的一致。他们行为相同，唯一的
	不同是他们只处理子设备的控制实现。根据驱动程序，这些控制也
	可以通过一个（或多个） V4L2 设备节点访问。

VIDIOC_DQEVENT
VIDIOC_SUBSCRIBE_EVENT
VIDIOC_UNSUBSCRIBE_EVENT

	这些  ioctls 事件与 V4L2 中定义的一致。他们行为相同，唯一的
	不同是他们只处理子设备产生的事件。根据驱动程序，这些事件也
	可以通过一个（或多个） V4L2 设备节点上报。

	要使用事件通知的子设备驱动，在注册子设备前必须在 v4l2_subdev::flags
	中设置 V4L2_SUBDEV_USES_EVENTS 并在 v4l2_subdev::nevents
	中初始化事件队列深度。注册完成后，事件会在 v4l2_subdev::devnode
	设备节点中像通常一样被排队。

	为正确支持事件机制，poll() 文件操作也应被实现。

私有 ioctls

	不在以上列表中的所有 ioctls 会通过 core::ioctl 操作直接传递
	给子设备驱动。


I2C 子设备驱动
-------------

由于这些驱动很常见，所以内特提供了特定的辅助函数(v4l2-common.h)让这些
设备的使用更加容易。

添加 v4l2_subdev 支持的推荐方法是让 I2C 驱动将 v4l2_subdev 结构体
嵌入到为每个 I2C 设备实例创建的状态结构体中。而最简单的设备没有状态
结构体，此时可以直接创建一个 v4l2_subdev 结构体。

一个典型的状态结构体如下所示（‘chipname’用芯片名代替）：

struct chipname_state {
	struct v4l2_subdev sd;
	...  /* 附加的状态域*/
};

初始化 v4l2_subdev 结构体的方法如下：

	v4l2_i2c_subdev_init(&state->sd, client, subdev_ops);

这个函数将填充 v4l2_subdev 结构体中的所有域，并保证 v4l2_subdev 和
i2c_client 都指向彼此。

同时，你也应该为从 v4l2_subdev 指针找到 chipname_state 结构体指针
添加一个辅助内联函数。

static inline struct chipname_state *to_state(struct v4l2_subdev *sd)
{
	return container_of(sd, struct chipname_state, sd);
}

使用以下函数可以通过 v4l2_subdev 结构体指针获得 i2c_client 结构体
指针：

	struct i2c_client *client = v4l2_get_subdevdata(sd);

而以下函数则相反，通过 i2c_client 结构体指针获得 v4l2_subdev 结构体
指针：

	struct v4l2_subdev *sd = i2c_get_clientdata(client);

当 remove()函数被调用前，必须保证先调用 v4l2_device_unregister_subdev(sd)。
此操作将会从桥驱动中注销子设备。即使子设备没有注册，调用此函数也是
安全的。

必须这样做的原因是：当桥驱动注销 i2c 适配器时，remove()回调函数
会被那个适配器上的 i2c 设备调用。此后，相应的 v4l2_subdev 结构体
就不存在了，所有它们必须先被注销。在 remove()回调函数中调用
v4l2_device_unregister_subdev(sd)，可以保证执行总是正确的。


桥驱动也有一些辅组函数可用：

struct v4l2_subdev *sd = v4l2_i2c_new_subdev(v4l2_dev, adapter,
	       "module_foo", "chipid", 0x36, NULL);

这个函数会加载给定的模块（如果没有模块需要加载，可以为 NULL），
并用给定的 i2c 适配器结构体指针（i2c_adapter）和 器件地址（chip/address）
作为参数调用 i2c_new_device()。如果一切顺利，则就在 v4l2_device
中注册了子设备。

你也可以利用 v4l2_i2c_new_subdev()的最后一个参数，传递一个可能的
I2C 地址数组，让函数自动探测。这些探测地址只有在前一个参数为 0 的
情况下使用。非零参数意味着你知道准确的 i2c 地址，所以此时无须进行
探测。

如果出错，两个函数都返回 NULL。

注意：传递给 v4l2_i2c_new_subdev()的 chipid 通常与模块名一致。
它允许你指定一个芯片的变体，比如“saa7114”或“saa7115”。一般通过
i2c 驱动自动探测。chipid 的使用是在今后需要深入了解的事情。这个与
i2c 驱动不同，较容易混淆。要知道支持哪些芯片变体，你可以查阅 i2c
驱动代码的 i2c_device_id 表，上面列出了所有可能支持的芯片。

还有两个辅助函数：

v4l2_i2c_new_subdev_cfg：这个函数添加新的 irq 和 platform_data
参数，并有‘addr’和‘probed_addrs’参数：如果 addr 非零，则被使用
（不探测变体），否则 probed_addrs 中的地址将用于自动探测。

例如：以下代码将会探测地址（0x10）：

struct v4l2_subdev *sd = v4l2_i2c_new_subdev_cfg(v4l2_dev, adapter,
	       "module_foo", "chipid", 0, NULL, 0, I2C_ADDRS(0x10));

v4l2_i2c_new_subdev_board 使用一个 i2c_board_info 结构体，将其
替代 irq、platform_data 和 add r参数传递给 i2c 驱动。

如果子设备支持 s_config 核心操作，这个操作会在子设备配置好之后以 irq 和
platform_data 为参数调用。早期的 v4l2_i2c_new_(probed_)subdev 函数
同样也会调用 s_config，但仅在 irq 为 0 且 platform_data 为 NULL 时。

video_device结构体
-----------------

在 /dev 目录下的实际设备节点根据 video_device 结构体(v4l2-dev.h)
创建。此结构体既可以动态分配也可以嵌入到一个更大的结构体中。

动态分配方法如下：

	struct video_device *vdev = video_device_alloc();

	if (vdev == NULL)
		return -ENOMEM;

	vdev->release = video_device_release;

如果将其嵌入到一个大结构体中，则必须自己实现 release()回调。

	struct video_device *vdev = &my_vdev->vdev;

	vdev->release = my_vdev_release;

release()回调必须被设置，且在最后一个 video_device 用户退出之后
被调用。

默认的 video_device_release()回调只是调用 kfree 来释放之前分配的
内存。

你应该设置这些域：

- v4l2_dev: 设置为 v4l2_device 父设备。

- name: 设置为唯一的描述性设备名。

- fops: 设置为已有的 v4l2_file_operations 结构体。

- ioctl_ops: 如果你使用v4l2_ioctl_ops 来简化 ioctl 的维护
  (强烈建议使用，且将来可能变为强制性的!)，然后设置你自己的
  v4l2_ioctl_ops 结构体.

- lock: 如果你要在驱动中实现所有的锁操作，则设为 NULL 。否则
  就要设置一个指向 struct mutex_lock 结构体的指针，这个锁将
  在 unlocked_ioctl 文件操作被调用前由内核获得，并在调用返回后
  释放。详见下一节。

- prio: 保持对优先级的跟踪。用于实现 VIDIOC_G/S_PRIORITY。如果
  设置为 NULL，则会使用 v4l2_device 中的 v4l2_prio_state 结构体。
  如果要对每个设备节点（组）实现独立的优先级，可以将其指向自己
  实现的 v4l2_prio_state 结构体。

- parent: 仅在使用 NULL 作为父设备结构体参数注册 v4l2_device 时
  设置此参数。只有在一个硬件设备包含多一个 PCI 设备，共享同一个
  v4l2_device 核心时才会发生。

  cx88 驱动就是一个例子：一个 v4l2_device 结构体核心，被一个裸的
  视频 PCI 设备(cx8800)和一个 MPEG PCI 设备(cx8802)共用。由于
  v4l2_device 无法与特定的 PCI 设备关联，所有没有设置父设备。但当
  video_device 配置后，就知道使用哪个父 PCI 设备了。

- flags：可选。如果你要让框架处理设置 VIDIOC_G/S_PRIORITY ioctls，
  请设置 V4L2_FL_USE_FH_PRIO。这要求你使用 v4l2_fh 结构体。
  一旦所有驱动使用了核心的优先级处理，最终这个标志将消失。但现在它
  必须被显式设置。

如果你使用 v4l2_ioctl_ops，则应该在 v4l2_file_operations 结构体中
设置 .unlocked_ioctl 指向 video_ioctl2。

请勿使用 .ioctl！它已被废弃，今后将消失。

某些情况下你要告诉核心：你在 v4l2_ioctl_ops 指定的某个函数应被忽略。
你可以在 video_device_register 被调用前通过以下函数标记这个 ioctls。

void v4l2_disable_ioctl(struct video_device *vdev, unsigned int cmd);

基于外部因素（例如某个板卡已被使用），在不创建新结构体的情况下，你想
要关闭 v4l2_ioctl_ops 中某个特性往往需要这个机制。

v4l2_file_operations 结构体是 file_operations 的一个子集。其主要
区别在于：因 inode 参数从未被使用，它将被忽略。

如果需要与媒体框架整合，你必须通过调用 media_entity_init() 初始化
嵌入在 video_device 结构体中的 media_entity（entity 域）结构体：

	struct media_pad *pad = &my_vdev->pad;
	int err;

	err = media_entity_init(&vdev->entity, 1, pad, 0);

pads 数组必须预先初始化。没有必要手动设置 media_entity 的 type 和
name 域。

当（任何）子设备节点被打开/关闭，对 entity 的引用将被自动获取/释放。

v4l2_file_operations 与锁
--------------------------

你可以在 video_device 结构体中设置一个指向 mutex_lock 的指针。通常
这既可是一个顶层互斥锁也可为设备节点自身的互斥锁。默认情况下，此锁
用于 unlocked_ioctl，但为了使用 ioctls 你通过以下函数可禁用锁定：

	void v4l2_disable_ioctl_locking(struct video_device *vdev, unsigned int cmd);

例如: v4l2_disable_ioctl_locking(vdev, VIDIOC_DQBUF);

你必须在注册 video_device 前调用这个函数。

特别是对于 USB 驱动程序，某些命令（如设置控制）需要很长的时间，可能
需要自行为缓冲区队列的 ioctls 实现锁定。

如果你需要更细粒度的锁，你必须设置 mutex_lock 为 NULL，并完全自己实现
锁机制。

这完全由驱动开发者决定使用何种方法。然而，如果你的驱动存在长延时操作
（例如，改变 USB 摄像头的曝光时间可能需要较长时间），而你又想让用户
在等待长延时操作完成期间做其他的事，则你最好自己实现锁机制。

如果指定一个锁，则所有 ioctl 操作将在这个锁的作用下串行执行。如果你
使用 videobuf，则必须将同一个锁传递给 videobuf 队列初始化函数；如
videobuf 必须等待一帧的到达，则可临时解锁并在这之后重新上锁。如果驱动
也在代码执行期间等待，则可做同样的工作（临时解锁，再上锁）让其他进程
可以在第一个进程阻塞时访问设备节点。

在使用 videobuf2 的情况下，必须实现 wait_prepare 和 wait_finish 回调
在适当的时候解锁/加锁。进一步来说，如果你在 video_device 结构体中使用
锁，则必须在 wait_prepare 和 wait_finish 中对这个互斥锁进行解锁/加锁。

热插拔的断开实现也必须在调用 v4l2_device_disconnect 前获得锁。

video_device注册
---------------

接下来你需要注册视频设备：这会为你创建一个字符设备。

	err = video_register_device(vdev, VFL_TYPE_GRABBER, -1);
	if (err) {
		video_device_release(vdev); /* or kfree(my_vdev); */
		return err;
	}

如果 v4l2_device 父设备的 mdev 域为非 NULL 值，视频设备实体将自动
注册为媒体设备。

注册哪种设备是根据类型（type）参数。存在以下类型：

VFL_TYPE_GRABBER: 用于视频输入/输出设备的 videoX
VFL_TYPE_VBI: 用于垂直消隐数据的 vbiX (例如，隐藏式字幕，图文电视)
VFL_TYPE_RADIO: 用于广播调谐器的 radioX

最后一个参数让你确定一个所控制设备的设备节点号数量(例如 videoX 中的 X)。
通常你可以传入-1，让 v4l2 框架自己选择第一个空闲的编号。但是有时用户
需要选择一个特定的节点号。驱动允许用户通过驱动模块参数选择一个特定的
设备节点号是很普遍的。这个编号将会传递给这个函数，且 video_register_device
将会试图选择这个设备节点号。如果这个编号被占用，下一个空闲的设备节点
编号将被选中，并向内核日志中发送一个警告信息。

另一个使用场景是当驱动创建多个设备时。这种情况下，对不同的视频设备在
编号上使用不同的范围是很有用的。例如，视频捕获设备从 0 开始，视频
输出设备从 16 开始。所以你可以使用最后一个参数来指定设备节点号最小值，
而 v4l2 框架会试图选择第一个的空闲编号（等于或大于你提供的编号）。
如果失败，则它会就选择第一个空闲的编号。

由于这种情况下，你会忽略无法选择特定设备节点号的警告，则可调用
video_register_device_no_warn() 函数避免警告信息的产生。

只要设备节点被创建，一些属性也会同时创建。在 /sys/class/video4linux
目录中你会找到这些设备。例如进入其中的 video0 目录，你会看到‘name’和
‘index’属性。‘name’属性值就是 video_device 结构体中的‘name’域。

‘index’属性值就是设备节点的索引值：每次调用 video_register_device()，
索引值都递增 1 。第一个视频设备节点总是从索引值 0 开始。

用户可以设置 udev 规则，利用索引属性生成花哨的设备名（例如：用‘mpegX’
代表 MPEG 视频捕获设备节点）。

在设备成功注册后，就可以使用这些域：

- vfl_type: 传递给 video_register_device 的设备类型。
- minor: 已指派的次设备号。
- num: 设备节点编号 (例如 videoX 中的 X)。
- index: 设备索引号。

如果注册失败，你必须调用 video_device_release() 来释放已分配的
video_device 结构体；如果 video_device 是嵌入在自己创建的结构体中，
你也必须释放它。vdev->release() 回调不会在注册失败之后被调用，
你也不应试图在注册失败后注销设备。


video_device 注销
----------------

当视频设备节点已被移除，不论是卸载驱动还是USB设备断开，你都应注销
它们：

	video_unregister_device(vdev);

这个操作将从 sysfs 中移除设备节点（导致 udev 将其从 /dev 中移除）。

video_unregister_device() 返回之后，就无法完成打开操作。尽管如此，
USB 设备的情况则不同，某些应用程序可能依然打开着其中一个已注销设备
节点。所以在注销之后，所有文件操作（当然除了 release ）也应返回错误值。

当最后一个视频设备节点的用户退出，则 vdev->release() 回调会被调用，
并且你可以做最后的清理操作。

不要忘记清理与视频设备相关的媒体入口（如果被初始化过）：

	media_entity_cleanup(&vdev->entity);

这可以在 release 回调中完成。


video_device 辅助函数
---------------------

一些有用的辅助函数如下：

- file/video_device 私有数据

你可以用以下函数在 video_device 结构体中设置/获取驱动私有数据：

void *video_get_drvdata(struct video_device *vdev);
void video_set_drvdata(struct video_device *vdev, void *data);

注意：在调用 video_register_device() 前执行 video_set_drvdata()
是安全的。

而以下函数：

struct video_device *video_devdata(struct file *file);

返回 file 结构体中拥有的的 video_device 指针。

video_drvdata 辅助函数结合了 video_get_drvdata 和 video_devdata
的功能：

void *video_drvdata(struct file *file);

你可以使用如下代码从 video_device 结构体中获取 v4l2_device 结构体
指针：

struct v4l2_device *v4l2_dev = vdev->v4l2_dev;

- 设备节点名

video_device 设备节点在内核中的名称可以通过以下函数获得

const char *video_device_node_name(struct video_device *vdev);

这个名字被用户空间工具（例如 udev）作为提示信息使用。应尽可能使用
此功能，而非访问 video_device::num 和 video_device::minor 域。


视频缓冲辅助函数
---------------

v4l2 核心 API 提供了一个处理视频缓冲的标准方法(称为“videobuf”)。
这些方法使驱动可以通过统一的方式实现 read()、mmap() 和 overlay()。
目前在设备上支持视频缓冲的方法有分散/聚集 DMA(videobuf-dma-sg)、
线性 DMA(videobuf-dma-contig)以及大多用于 USB 设备的用 vmalloc
分配的缓冲(videobuf-vmalloc)。

请参阅 Documentation/video4linux/videobuf，以获得更多关于 videobuf
层的使用信息。

v4l2_fh 结构体
-------------

v4l2_fh 结构体提供一个保存用于 V4L2 框架的文件句柄特定数据的简单方法。
如果 video_device 的 flag 设置了 V4L2_FL_USE_FH_PRIO 标志，新驱动
必须使用 v4l2_fh 结构体，因为它也用于实现优先级处理（VIDIOC_G/S_PRIORITY）。

v4l2_fh 的用户（位于 V4l2 框架中，并非驱动）可通过测试
video_device->flags 中的 V4L2_FL_USES_V4L2_FH 位得知驱动是否使用
v4l2_fh 作为他的 file->private_data 指针。这个位会在调用 v4l2_fh_init()
时被设置。

v4l2_fh 结构体作为驱动自身文件句柄结构体的一部分被分配，且驱动在
其打开函数中将 file->private_data 指向它。

在许多情况下，v4l2_fh 结构体会嵌入到一个更大的结构体中。这钟情况下，
应该在 open() 中调用 v4l2_fh_init+v4l2_fh_add，并在 release() 中
调用 v4l2_fh_del+v4l2_fh_exit。

驱动可以通过使用 container_of 宏提取他们自己的文件句柄结构体。例如：

struct my_fh {
	int blah;
	struct v4l2_fh fh;
};

...

int my_open(struct file *file)
{
	struct my_fh *my_fh;
	struct video_device *vfd;
	int ret;

	...

	my_fh = kzalloc(sizeof(*my_fh), GFP_KERNEL);

	...

	v4l2_fh_init(&my_fh->fh, vfd);

	...

	file->private_data = &my_fh->fh;
	v4l2_fh_add(&my_fh->fh);
	return 0;
}

int my_release(struct file *file)
{
	struct v4l2_fh *fh = file->private_data;
	struct my_fh *my_fh = container_of(fh, struct my_fh, fh);

	...
	v4l2_fh_del(&my_fh->fh);
	v4l2_fh_exit(&my_fh->fh);
	kfree(my_fh);
	return 0;
}

以下是 v4l2_fh 函数使用的简介：

void v4l2_fh_init(struct v4l2_fh *fh, struct video_device *vdev)

  初始化文件句柄。这*必须*在驱动的 v4l2_file_operations->open()
  函数中执行。

void v4l2_fh_add(struct v4l2_fh *fh)

  添加一个 v4l2_fh 到 video_device 文件句柄列表。一旦文件句柄
  初始化完成就必须调用。

void v4l2_fh_del(struct v4l2_fh *fh)

  从 video_device() 中解除文件句柄的关联。文件句柄的退出函数也
  将被调用。

void v4l2_fh_exit(struct v4l2_fh *fh)

  清理文件句柄。在清理完 v4l2_fh 后，相关内存会被释放。


如果 v4l2_fh 不是嵌入在其他结构体中的，则可以用这些辅助函数：

int v4l2_fh_open(struct file *filp)

  分配一个 v4l2_fh 结构体空间，初始化并将其添加到 file 结构体相关的
  video_device 结构体中。

int v4l2_fh_release(struct file *filp)

  从 file 结构体相关的 video_device 结构体中删除 v4l2_fh ，清理
  v4l2_fh 并释放空间。

这两个函数可以插入到 v4l2_file_operation 的 open() 和 release()
操作中。


某些驱动需要在第一个文件句柄打开和最后一个文件句柄关闭的时候做些
工作。所以加入了两个辅助函数以检查 v4l2_fh 结构体是否是相关设备
节点打开的唯一文件句柄。

int v4l2_fh_is_singular(struct v4l2_fh *fh)

  如果此文件句柄是唯一打开的文件句柄，则返回 1 ，否则返回 0 。

int v4l2_fh_is_singular_file(struct file *filp)

  功能相同，但通过 filp->private_data 调用 v4l2_fh_is_singular。


V4L2 事件机制
-----------

V4L2 事件机制提供了一个通用的方法将事件传递到用户空间。驱动必须使用
v4l2_fh 才能支持 V4L2 事件机制。


事件通过一个类型和选择 ID 来定义。ID 对应一个 V4L2 对象，例如
一个控制 ID。如果未使用，则 ID 为 0。

当用户订阅一个事件，驱动会为此分配一些 kevent 结构体。所以每个
事件组（类型、ID）都会有自己的一套 kevent 结构体。这保证了如果
一个驱动短时间内产生了许多同类事件，不会覆盖其他类型的事件。

但如果你收到的事件数量大于同类事件 kevent 的保存数量，则最早的
事件将被丢弃，并加入新事件。

此外，v4l2_subscribed_event 结构体内部有可供驱动设置的 merge() 和
replace() 回调，这些回调会在新事件产生且没有多余空间的时候被调用。
replace() 回调让你可以将早期事件的净荷替换为新事件的净荷，将早期
净荷的相关数据合并到替换进来的新净荷中。当该类型的事件仅分配了一个
kevent 结构体时，它将被调用。merge() 回调让你可以合并最早的事件净荷
到在它之后的那个事件净荷中。当该类型的事件分配了两个或更多 kevent
结构体时，它将被调用。

这种方法不会有状态信息丢失，只会导致中间步骤信息丢失。


关于 replace/merge 回调的一个不错的例子在 v4l2-event.c 中：用于
控制事件的 ctrls_replace() 和 ctrls_merge() 回调。

注意：这些回调可以在中断上下文中调用，所以它们必须尽快完成并退出。

有用的函数：

void v4l2_event_queue(struct video_device *vdev, const struct v4l2_event *ev)

  将事件加入视频设备的队列。驱动仅负责填充 type 和 data 域。
  其他域由 V4L2 填充。

int v4l2_event_subscribe(struct v4l2_fh *fh,
			 struct v4l2_event_subscription *sub, unsigned elems,
			 const struct v4l2_subscribed_event_ops *ops)

  video_device->ioctl_ops->vidioc_subscribe_event 必须检测驱动能
  产生特定 id 的事件。然后调用 v4l2_event_subscribe() 来订阅该事件。

  elems 参数是该事件的队列大小。若为 0，V4L2 框架将会（根据事件类型）
  填充默认值。

  ops 参数允许驱动指定一系列回调：
  * add:     当添加一个新监听者时调用（重复订阅同一个事件，此回调
             仅被执行一次）。
  * del:     当一个监听者停止监听时调用。
  * replace: 用‘新’事件替换‘早期‘事件。
  * merge:   将‘早期‘事件合并到‘新’事件中。
  这四个调用都是可选的，如果不想指定任何回调，则 ops 可为 NULL。

int v4l2_event_unsubscribe(struct v4l2_fh *fh,
			   struct v4l2_event_subscription *sub)

  v4l2_ioctl_ops 结构体中的 vidioc_unsubscribe_event 回调函数。
  驱动程序可以直接使用 v4l2_event_unsubscribe() 实现退订事件过程。

  特殊的 V4L2_EVENT_ALL 类型，可用于退订所有事件。驱动可能在特殊
  情况下需要做此操作。

int v4l2_event_pending(struct v4l2_fh *fh)

  返回未决事件的数量。有助于实现轮询（poll）操作。

事件通过 poll 系统调用传递到用户空间。驱动可用
v4l2_fh->wait (wait_queue_head_t 类型)作为参数调用 poll_wait()。

事件分为标准事件和私有事件。新的标准事件必须使用可用的最小事件类型
编号。驱动必须从他们本类型的编号起始处分配事件。类型的编号起始为
V4L2_EVENT_PRIVATE_START + n * 1000 ，其中 n 为可用最小编号。每个
类型中的第一个事件类型编号是为以后的使用保留的，所以第一个可用事件
类型编号是‘class base + 1’。

V4L2 事件机制的使用实例可以在 OMAP3 ISP 的驱动
(drivers/media/video/omap3isp)中找到。
