From dde254b51972e63a6469d5f0b0087eb4422ca729 Mon Sep 17 00:00:00 2001 From: Sakari Ailus Date: Mon, 23 Jan 2012 03:03:00 -0300 Subject: [PATCH] --- yaml --- r: 306276 b: refs/heads/master c: 48398f932b4ddcc8fa9a890595645cc14f6889a8 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/Documentation/video4linux/v4l2-framework.txt | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 121b74c66d65..fffbcf11c780 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: af88be3887c1a0b20d0792c3c237a67c73ef3286 +refs/heads/master: 48398f932b4ddcc8fa9a890595645cc14f6889a8 diff --git a/trunk/Documentation/video4linux/v4l2-framework.txt b/trunk/Documentation/video4linux/v4l2-framework.txt index 369d4bc87828..493ffd1b1cf5 100644 --- a/trunk/Documentation/video4linux/v4l2-framework.txt +++ b/trunk/Documentation/video4linux/v4l2-framework.txt @@ -266,11 +266,16 @@ 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; }; The core ops are common to all subdevs, the other categories are implemented @@ -307,6 +312,10 @@ Don't forget to cleanup the media entity before the sub-device is destroyed: media_entity_cleanup(&sd->entity); +If the subdev driver intends to process video and integrate with the media +framework, it must implement format related functionality using +v4l2_subdev_pad_ops instead of v4l2_subdev_video_ops. + A device (bridge) driver needs to register the v4l2_subdev with the v4l2_device: