aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/i2c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2014-01-31 06:51:18 -0500
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-05-25 11:41:55 -0400
commit553bca82ed3838fe68d9436e548b5917b6caadc4 (patch)
tree242eb885b761045b3e3e7431e655ecb0a441004c /drivers/media/i2c
parent1579a9d3f0f81f56a1a03e7edefceba3eef593d3 (diff)
[media] ths8200: Add pad-level DV timings operations
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>
Diffstat (limited to 'drivers/media/i2c')
-rw-r--r--drivers/media/i2c/ths8200.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/media/i2c/ths8200.c b/drivers/media/i2c/ths8200.c
index f72561e79739..c4ec8b2f1f81 100644
--- a/drivers/media/i2c/ths8200.c
+++ b/drivers/media/i2c/ths8200.c
@@ -410,6 +410,9 @@ static int ths8200_g_dv_timings(struct v4l2_subdev *sd,
410static int ths8200_enum_dv_timings(struct v4l2_subdev *sd, 410static int ths8200_enum_dv_timings(struct v4l2_subdev *sd,
411 struct v4l2_enum_dv_timings *timings) 411 struct v4l2_enum_dv_timings *timings)
412{ 412{
413 if (timings->pad != 0)
414 return -EINVAL;
415
413 return v4l2_enum_dv_timings_cap(timings, &ths8200_timings_cap, 416 return v4l2_enum_dv_timings_cap(timings, &ths8200_timings_cap,
414 NULL, NULL); 417 NULL, NULL);
415} 418}
@@ -417,6 +420,9 @@ static int ths8200_enum_dv_timings(struct v4l2_subdev *sd,
417static int ths8200_dv_timings_cap(struct v4l2_subdev *sd, 420static int ths8200_dv_timings_cap(struct v4l2_subdev *sd,
418 struct v4l2_dv_timings_cap *cap) 421 struct v4l2_dv_timings_cap *cap)
419{ 422{
423 if (cap->pad != 0)
424 return -EINVAL;
425
420 *cap = ths8200_timings_cap; 426 *cap = ths8200_timings_cap;
421 return 0; 427 return 0;
422} 428}
@@ -430,10 +436,16 @@ static const struct v4l2_subdev_video_ops ths8200_video_ops = {
430 .dv_timings_cap = ths8200_dv_timings_cap, 436 .dv_timings_cap = ths8200_dv_timings_cap,
431}; 437};
432 438
439static const struct v4l2_subdev_pad_ops ths8200_pad_ops = {
440 .enum_dv_timings = ths8200_enum_dv_timings,
441 .dv_timings_cap = ths8200_dv_timings_cap,
442};
443
433/* V4L2 top level operation handlers */ 444/* V4L2 top level operation handlers */
434static const struct v4l2_subdev_ops ths8200_ops = { 445static const struct v4l2_subdev_ops ths8200_ops = {
435 .core = &ths8200_core_ops, 446 .core = &ths8200_core_ops,
436 .video = &ths8200_video_ops, 447 .video = &ths8200_video_ops,
448 .pad = &ths8200_pad_ops,
437}; 449};
438 450
439static int ths8200_probe(struct i2c_client *client, 451static int ths8200_probe(struct i2c_client *client,