Message ID | 20211022075247.518880-10-eugen.hristev@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: atmel: atmel-isc: implement media controller | expand |
Hi Eugen On Fri, Oct 22, 2021 at 10:52:35AM +0300, Eugen Hristev wrote: > VIDIOC_ENUM_FRAMEINTERVALS is not recommended for a top video driver. > The frame rate is defined by the sensor subdevice, thus it can be queried > directly by anyone interested in the frame intervals. This change makes sense in the context of moving towards media controller, but I wonder how does this impact existing userspace that relies on this. Anyway Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Thanks j > > Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> > --- > drivers/media/platform/atmel/atmel-isc-base.c | 37 ------------------- > 1 file changed, 37 deletions(-) > > diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c > index 6f14cc549543..8537ad73d160 100644 > --- a/drivers/media/platform/atmel/atmel-isc-base.c > +++ b/drivers/media/platform/atmel/atmel-isc-base.c > @@ -1108,42 +1108,6 @@ static int isc_enum_framesizes(struct file *file, void *fh, > return 0; > } > > -static int isc_enum_frameintervals(struct file *file, void *fh, > - struct v4l2_frmivalenum *fival) > -{ > - struct isc_device *isc = video_drvdata(file); > - struct v4l2_subdev_frame_interval_enum fie = { > - .code = isc->config.sd_format->mbus_code, > - .index = fival->index, > - .width = fival->width, > - .height = fival->height, > - .which = V4L2_SUBDEV_FORMAT_ACTIVE, > - }; > - int ret = -EINVAL; > - unsigned int i; > - > - for (i = 0; i < isc->num_user_formats; i++) > - if (isc->user_formats[i]->fourcc == fival->pixel_format) > - ret = 0; > - > - for (i = 0; i < isc->controller_formats_size; i++) > - if (isc->controller_formats[i].fourcc == fival->pixel_format) > - ret = 0; > - > - if (ret) > - return ret; > - > - ret = v4l2_subdev_call(isc->current_subdev->sd, pad, > - enum_frame_interval, NULL, &fie); > - if (ret) > - return ret; > - > - fival->type = V4L2_FRMIVAL_TYPE_DISCRETE; > - fival->discrete = fie.interval; > - > - return 0; > -} > - > static const struct v4l2_ioctl_ops isc_ioctl_ops = { > .vidioc_querycap = isc_querycap, > .vidioc_enum_fmt_vid_cap = isc_enum_fmt_vid_cap, > @@ -1168,7 +1132,6 @@ static const struct v4l2_ioctl_ops isc_ioctl_ops = { > .vidioc_g_parm = isc_g_parm, > .vidioc_s_parm = isc_s_parm, > .vidioc_enum_framesizes = isc_enum_framesizes, > - .vidioc_enum_frameintervals = isc_enum_frameintervals, > > .vidioc_log_status = v4l2_ctrl_log_status, > .vidioc_subscribe_event = v4l2_ctrl_subscribe_event, > -- > 2.25.1 >
diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c index 6f14cc549543..8537ad73d160 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c @@ -1108,42 +1108,6 @@ static int isc_enum_framesizes(struct file *file, void *fh, return 0; } -static int isc_enum_frameintervals(struct file *file, void *fh, - struct v4l2_frmivalenum *fival) -{ - struct isc_device *isc = video_drvdata(file); - struct v4l2_subdev_frame_interval_enum fie = { - .code = isc->config.sd_format->mbus_code, - .index = fival->index, - .width = fival->width, - .height = fival->height, - .which = V4L2_SUBDEV_FORMAT_ACTIVE, - }; - int ret = -EINVAL; - unsigned int i; - - for (i = 0; i < isc->num_user_formats; i++) - if (isc->user_formats[i]->fourcc == fival->pixel_format) - ret = 0; - - for (i = 0; i < isc->controller_formats_size; i++) - if (isc->controller_formats[i].fourcc == fival->pixel_format) - ret = 0; - - if (ret) - return ret; - - ret = v4l2_subdev_call(isc->current_subdev->sd, pad, - enum_frame_interval, NULL, &fie); - if (ret) - return ret; - - fival->type = V4L2_FRMIVAL_TYPE_DISCRETE; - fival->discrete = fie.interval; - - return 0; -} - static const struct v4l2_ioctl_ops isc_ioctl_ops = { .vidioc_querycap = isc_querycap, .vidioc_enum_fmt_vid_cap = isc_enum_fmt_vid_cap, @@ -1168,7 +1132,6 @@ static const struct v4l2_ioctl_ops isc_ioctl_ops = { .vidioc_g_parm = isc_g_parm, .vidioc_s_parm = isc_s_parm, .vidioc_enum_framesizes = isc_enum_framesizes, - .vidioc_enum_frameintervals = isc_enum_frameintervals, .vidioc_log_status = v4l2_ctrl_log_status, .vidioc_subscribe_event = v4l2_ctrl_subscribe_event,
VIDIOC_ENUM_FRAMEINTERVALS is not recommended for a top video driver. The frame rate is defined by the sensor subdevice, thus it can be queried directly by anyone interested in the frame intervals. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> --- drivers/media/platform/atmel/atmel-isc-base.c | 37 ------------------- 1 file changed, 37 deletions(-)