diff options
Diffstat (limited to 'drivers/media/v4l2-core/v4l2-subdev.c')
| -rw-r--r-- | drivers/media/v4l2-core/v4l2-subdev.c | 22 | 
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/media/v4l2-core/v4l2-subdev.c b/drivers/media/v4l2-core/v4l2-subdev.c index 6a7f7f75dfd7..2b63fa6b6fc9 100644 --- a/drivers/media/v4l2-core/v4l2-subdev.c +++ b/drivers/media/v4l2-core/v4l2-subdev.c @@ -494,6 +494,28 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg)  	case VIDIOC_SUBDEV_S_DV_TIMINGS:  		return v4l2_subdev_call(sd, video, s_dv_timings, arg); + +	case VIDIOC_SUBDEV_G_STD: +		return v4l2_subdev_call(sd, video, g_std, arg); + +	case VIDIOC_SUBDEV_S_STD: { +		v4l2_std_id *std = arg; + +		return v4l2_subdev_call(sd, video, s_std, *std); +	} + +	case VIDIOC_SUBDEV_ENUMSTD: { +		struct v4l2_standard *p = arg; +		v4l2_std_id id; + +		if (v4l2_subdev_call(sd, video, g_tvnorms, &id)) +			return -EINVAL; + +		return v4l_video_std_enumstd(p, id); +	} + +	case VIDIOC_SUBDEV_QUERYSTD: +		return v4l2_subdev_call(sd, video, querystd, arg);  #endif  	default:  		return v4l2_subdev_call(sd, core, ioctl, cmd, arg);  |