Commit 553bca82 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab

[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: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Acked-by: default avatarLad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 1579a9d3
...@@ -410,6 +410,9 @@ static int ths8200_g_dv_timings(struct v4l2_subdev *sd, ...@@ -410,6 +410,9 @@ static int ths8200_g_dv_timings(struct v4l2_subdev *sd,
static int ths8200_enum_dv_timings(struct v4l2_subdev *sd, static int ths8200_enum_dv_timings(struct v4l2_subdev *sd,
struct v4l2_enum_dv_timings *timings) struct v4l2_enum_dv_timings *timings)
{ {
if (timings->pad != 0)
return -EINVAL;
return v4l2_enum_dv_timings_cap(timings, &ths8200_timings_cap, return v4l2_enum_dv_timings_cap(timings, &ths8200_timings_cap,
NULL, NULL); NULL, NULL);
} }
...@@ -417,6 +420,9 @@ static int ths8200_enum_dv_timings(struct v4l2_subdev *sd, ...@@ -417,6 +420,9 @@ static int ths8200_enum_dv_timings(struct v4l2_subdev *sd,
static int ths8200_dv_timings_cap(struct v4l2_subdev *sd, static int ths8200_dv_timings_cap(struct v4l2_subdev *sd,
struct v4l2_dv_timings_cap *cap) struct v4l2_dv_timings_cap *cap)
{ {
if (cap->pad != 0)
return -EINVAL;
*cap = ths8200_timings_cap; *cap = ths8200_timings_cap;
return 0; return 0;
} }
...@@ -430,10 +436,16 @@ static const struct v4l2_subdev_video_ops ths8200_video_ops = { ...@@ -430,10 +436,16 @@ static const struct v4l2_subdev_video_ops ths8200_video_ops = {
.dv_timings_cap = ths8200_dv_timings_cap, .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 */ /* V4L2 top level operation handlers */
static const struct v4l2_subdev_ops ths8200_ops = { static const struct v4l2_subdev_ops ths8200_ops = {
.core = &ths8200_core_ops, .core = &ths8200_core_ops,
.video = &ths8200_video_ops, .video = &ths8200_video_ops,
.pad = &ths8200_pad_ops,
}; };
static int ths8200_probe(struct i2c_client *client, static int ths8200_probe(struct i2c_client *client,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment