Re: [PATCH V2] Davinci VPFE Capture: Add support for Control ioctls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday 29 October 2009 07:51:04 hvaibhav@xxxxxx wrote:
> From: Vaibhav Hiremath <hvaibhav@xxxxxx>
> 
> Added support for Control IOCTL,
> 	- s_ctrl
> 	- g_ctrl
> 	- queryctrl
> 
> Change from last patch:
> 	- added room for error return in queryctrl function.
> 	
> Signed-off-by: Vaibhav Hiremath <hvaibhav@xxxxxx>
> ---
>  drivers/media/video/davinci/vpfe_capture.c |   43 ++++++++++++++++++++++++++++
>  1 files changed, 43 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/media/video/davinci/vpfe_capture.c b/drivers/media/video/davinci/vpfe_capture.c
> index abe21e4..8275d02 100644
> --- a/drivers/media/video/davinci/vpfe_capture.c
> +++ b/drivers/media/video/davinci/vpfe_capture.c
> @@ -1368,6 +1368,46 @@ static int vpfe_g_std(struct file *file, void *priv, v4l2_std_id *std_id)
>  	return 0;
>  }
> 
> +static int vpfe_queryctrl(struct file *file, void *priv,
> +		struct v4l2_queryctrl *qctrl)
> +{
> +	struct vpfe_device *vpfe_dev = video_drvdata(file);
> +	struct vpfe_subdev_info *sdinfo;
> +	int ret = 0;
> +
> +	sdinfo = vpfe_dev->current_subdev;
> +
> +	ret = v4l2_device_call_until_err(&vpfe_dev->v4l2_dev, sdinfo->grp_id,
> +					 core, queryctrl, qctrl);
> +
> +	if (ret)
> +		qctrl->flags |= V4L2_CTRL_FLAG_DISABLED;

Please remove this bogus flag. Just do:

	return v4l2_device_call_until_err(&vpfe_dev->v4l2_dev, sdinfo->grp_id,
				 core, queryctrl, qctrl);

Simple and effective.

Regards,

	Hans

> +
> +	return ret;
> +}
> +
> +static int vpfe_g_ctrl(struct file *file, void *priv, struct v4l2_control *ctrl)
> +{
> +	struct vpfe_device *vpfe_dev = video_drvdata(file);
> +	struct vpfe_subdev_info *sdinfo;
> +
> +	sdinfo = vpfe_dev->current_subdev;
> +
> +	return v4l2_device_call_until_err(&vpfe_dev->v4l2_dev, sdinfo->grp_id,
> +					 core, g_ctrl, ctrl);
> +}
> +
> +static int vpfe_s_ctrl(struct file *file, void *priv, struct v4l2_control *ctrl)
> +{
> +	struct vpfe_device *vpfe_dev = video_drvdata(file);
> +	struct vpfe_subdev_info *sdinfo;
> +
> +	sdinfo = vpfe_dev->current_subdev;
> +
> +	return v4l2_device_call_until_err(&vpfe_dev->v4l2_dev, sdinfo->grp_id,
> +					 core, s_ctrl, ctrl);
> +}
> +
>  /*
>   *  Videobuf operations
>   */
> @@ -1939,6 +1979,9 @@ static const struct v4l2_ioctl_ops vpfe_ioctl_ops = {
>  	.vidioc_querystd	 = vpfe_querystd,
>  	.vidioc_s_std		 = vpfe_s_std,
>  	.vidioc_g_std		 = vpfe_g_std,
> +	.vidioc_queryctrl	 = vpfe_queryctrl,
> +	.vidioc_g_ctrl		 = vpfe_g_ctrl,
> +	.vidioc_s_ctrl		 = vpfe_s_ctrl,
>  	.vidioc_reqbufs		 = vpfe_reqbufs,
>  	.vidioc_querybuf	 = vpfe_querybuf,
>  	.vidioc_qbuf		 = vpfe_qbuf,
> --
> 1.6.2.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 



-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux