[media] ths8200: Add pad-level DV timings operations
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Sun, 25 May 2014 15:41:55 +0000 (12:41 -0300)
The video enum_dv_timings and dv_timings_cap operations are deprecated.
Implement the pad-level version of those operations to prepare for the
removal of the video version.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/i2c/ths8200.c

index f72561e79739f4603e96b560931954691aafe604..c4ec8b2f1f8190e3356b1473d8c3484e0c15d0c2 100644 (file)
@@ -410,6 +410,9 @@ static int ths8200_g_dv_timings(struct v4l2_subdev *sd,
 static int ths8200_enum_dv_timings(struct v4l2_subdev *sd,
                                   struct v4l2_enum_dv_timings *timings)
 {
+       if (timings->pad != 0)
+               return -EINVAL;
+
        return v4l2_enum_dv_timings_cap(timings, &ths8200_timings_cap,
                        NULL, NULL);
 }
@@ -417,6 +420,9 @@ static int ths8200_enum_dv_timings(struct v4l2_subdev *sd,
 static int ths8200_dv_timings_cap(struct v4l2_subdev *sd,
                                  struct v4l2_dv_timings_cap *cap)
 {
+       if (cap->pad != 0)
+               return -EINVAL;
+
        *cap = ths8200_timings_cap;
        return 0;
 }
@@ -430,10 +436,16 @@ static const struct v4l2_subdev_video_ops ths8200_video_ops = {
        .dv_timings_cap = ths8200_dv_timings_cap,
 };
 
+static const struct v4l2_subdev_pad_ops ths8200_pad_ops = {
+       .enum_dv_timings = ths8200_enum_dv_timings,
+       .dv_timings_cap = ths8200_dv_timings_cap,
+};
+
 /* V4L2 top level operation handlers */
 static const struct v4l2_subdev_ops ths8200_ops = {
        .core  = &ths8200_core_ops,
        .video = &ths8200_video_ops,
+       .pad = &ths8200_pad_ops,
 };
 
 static int ths8200_probe(struct i2c_client *client,