diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2014-01-31 06:51:18 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-05-25 11:41:55 -0400 |
commit | 553bca82ed3838fe68d9436e548b5917b6caadc4 (patch) | |
tree | 242eb885b761045b3e3e7431e655ecb0a441004c /drivers/media/i2c | |
parent | 1579a9d3f0f81f56a1a03e7edefceba3eef593d3 (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.c | 12 |
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, | |||
410 | static int ths8200_enum_dv_timings(struct v4l2_subdev *sd, | 410 | static 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, | |||
417 | static int ths8200_dv_timings_cap(struct v4l2_subdev *sd, | 420 | static 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 | ||
439 | static 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 */ |
434 | static const struct v4l2_subdev_ops ths8200_ops = { | 445 | static 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 | ||
439 | static int ths8200_probe(struct i2c_client *client, | 451 | static int ths8200_probe(struct i2c_client *client, |