On 22/01/18 11:26, Sakari Ailus wrote:
> Hi Hans,
> 
> On Mon, Jan 22, 2018 at 11:18:50AM +0100, Hans Verkuil wrote:
>> From: Hans Verkuil <hans.verk...@cisco.com>
>>
>> Convert all g/s_parm calls to g/s_frame_interval. This allows us
>> to remove the g/s_parm ops since those are a duplicate of
>> g/s_frame_interval.
>>
>> Signed-off-by: Hans Verkuil <hans.verk...@cisco.com>
>> ---
>>  drivers/media/i2c/mt9v011.c                     | 29 +++++++++----------
>>  drivers/media/i2c/ov6650.c                      | 33 ++++++++++------------
>>  drivers/media/i2c/ov7670.c                      | 26 +++++++++--------
>>  drivers/media/i2c/ov7740.c                      | 29 ++++++++-----------
>>  drivers/media/i2c/tvp514x.c                     | 37 
>> +++++++++++--------------
>>  drivers/media/i2c/vs6624.c                      | 29 ++++++++++---------
>>  drivers/media/platform/atmel/atmel-isc.c        | 10 ++-----
>>  drivers/media/platform/atmel/atmel-isi.c        | 12 ++------
>>  drivers/media/platform/blackfin/bfin_capture.c  | 14 +++-------
>>  drivers/media/platform/marvell-ccic/mcam-core.c | 12 ++++----
>>  drivers/media/platform/soc_camera/soc_camera.c  | 10 ++++---
>>  drivers/media/platform/via-camera.c             |  4 +--
>>  drivers/media/usb/em28xx/em28xx-video.c         | 36 
>> ++++++++++++++++++++----
>>  13 files changed, 137 insertions(+), 144 deletions(-)
>>
>> diff --git a/drivers/media/i2c/mt9v011.c b/drivers/media/i2c/mt9v011.c
>> index 5e29064fae91..0e0bcc8b67ca 100644
>> --- a/drivers/media/i2c/mt9v011.c
>> +++ b/drivers/media/i2c/mt9v011.c
>> @@ -364,33 +364,30 @@ static int mt9v011_set_fmt(struct v4l2_subdev *sd,
>>      return 0;
>>  }
>>  
>> -static int mt9v011_g_parm(struct v4l2_subdev *sd, struct v4l2_streamparm 
>> *parms)
>> +static int mt9v011_g_frame_interval(struct v4l2_subdev *sd,
>> +                                struct v4l2_subdev_frame_interval *ival)
>>  {
>> -    struct v4l2_captureparm *cp = &parms->parm.capture;
>> -
>> -    if (parms->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
>> +    if (ival->pad)
>>              return -EINVAL;
> 
> The pad number checks are already present in v4l2-subdev.c. Do you think
> we'll need them in drivers as well?
> 
> It's true that another driver could mis-use this interface. In that case
> I'd introduce a wrapper to the op rather than introduce the check in every
> driver.

I'm not that keen on introducing wrappers for an op. I wouldn't actually know
how to implement that cleanly. Since the pad check is subdev driver specific,
and the overhead of a wrapper is almost certainly higher than just doing this
check I feel it is OK to do this.

> 
>>  
>> -    memset(cp, 0, sizeof(struct v4l2_captureparm));
>> -    cp->capability = V4L2_CAP_TIMEPERFRAME;
>> +    memset(ival->reserved, 0, sizeof(ival->reserved));
>>      calc_fps(sd,
>> -             &cp->timeperframe.numerator,
>> -             &cp->timeperframe.denominator);
>> +             &ival->interval.numerator,
>> +             &ival->interval.denominator);
>>  
>>      return 0;
>>  }

Regards,

        Hans

Reply via email to