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 (*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_std(sd, &norm);

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

	err = v4l2_subdev_call(sd, core, g_std, &norm);

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

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

	v4l2_device_call_all(v4l2_dev, 0, core, g_std, &norm);

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

	err = v4l2_device_call_until_err(v4l2_dev, 0, core, g_std, &norm);

除 -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 设备了。

如果你使用 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 标志，新驱动
必须使用 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)中找到。
