Commit 1b6f1d96 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

V4L/DVB (10542): v4l2-subdev: add querystd and g_input_status

In order to convert the v4l1 zoran and vino i2c drivers to v4l2 these
extra ops are required.
Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent ee6f78cd
...@@ -104,6 +104,10 @@ int v4l2_subdev_command(struct v4l2_subdev *sd, unsigned cmd, void *arg) ...@@ -104,6 +104,10 @@ int v4l2_subdev_command(struct v4l2_subdev *sd, unsigned cmd, void *arg)
return v4l2_subdev_call(sd, video, g_fmt, arg); return v4l2_subdev_call(sd, video, g_fmt, arg);
case VIDIOC_INT_S_STD_OUTPUT: case VIDIOC_INT_S_STD_OUTPUT:
return v4l2_subdev_call(sd, video, s_std_output, *(v4l2_std_id *)arg); return v4l2_subdev_call(sd, video, s_std_output, *(v4l2_std_id *)arg);
case VIDIOC_QUERYSTD:
return v4l2_subdev_call(sd, video, querystd, arg);
case VIDIOC_INT_G_INPUT_STATUS:
return v4l2_subdev_call(sd, video, g_input_status, arg);
case VIDIOC_STREAMON: case VIDIOC_STREAMON:
return v4l2_subdev_call(sd, video, s_stream, 1); return v4l2_subdev_call(sd, video, s_stream, 1);
case VIDIOC_STREAMOFF: case VIDIOC_STREAMOFF:
......
...@@ -297,4 +297,7 @@ struct v4l2_crystal_freq { ...@@ -297,4 +297,7 @@ struct v4l2_crystal_freq {
a v4l2_gpio struct if a direction is also needed. */ a v4l2_gpio struct if a direction is also needed. */
#define VIDIOC_INT_S_GPIO _IOW('d', 117, u32) #define VIDIOC_INT_S_GPIO _IOW('d', 117, u32)
/* Get input status. Same as the status field in the v4l2_input struct. */
#define VIDIOC_INT_G_INPUT_STATUS _IOR('d', 118, u32)
#endif /* V4L2_COMMON_H_ */ #endif /* V4L2_COMMON_H_ */
...@@ -115,6 +115,8 @@ struct v4l2_subdev_video_ops { ...@@ -115,6 +115,8 @@ struct v4l2_subdev_video_ops {
int (*g_vbi_data)(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_data *vbi_data); int (*g_vbi_data)(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_data *vbi_data);
int (*g_sliced_vbi_cap)(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_cap *cap); int (*g_sliced_vbi_cap)(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_cap *cap);
int (*s_std_output)(struct v4l2_subdev *sd, v4l2_std_id std); int (*s_std_output)(struct v4l2_subdev *sd, v4l2_std_id std);
int (*querystd)(struct v4l2_subdev *sd, v4l2_std_id *std);
int (*g_input_status)(struct v4l2_subdev *sd, u32 *status);
int (*s_stream)(struct v4l2_subdev *sd, int enable); int (*s_stream)(struct v4l2_subdev *sd, int enable);
int (*s_fmt)(struct v4l2_subdev *sd, struct v4l2_format *fmt); int (*s_fmt)(struct v4l2_subdev *sd, struct v4l2_format *fmt);
int (*g_fmt)(struct v4l2_subdev *sd, struct v4l2_format *fmt); int (*g_fmt)(struct v4l2_subdev *sd, struct v4l2_format *fmt);
......
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