Hi Luca, On Thu, Nov 18, 2021 at 06:39:09PM +0100, Luca Ceresoli wrote: > Hi, > > On 18/11/21 18:26, Sakari Ailus wrote: > > Hi Luca, > > > > On Thu, Nov 18, 2021 at 06:11:35PM +0100, Luca Ceresoli wrote: > >> Hi Eugen, > >> > >> On 18/11/21 16:40, Eugen Hristev wrote: > >>> Current driver supports only SRGGB 10 bit RAW bayer format. > >>> Add the enum_mbus_code implementation to report this format supported. > >>> > >>> # v4l2-ctl -d /dev/v4l-subdev3 --list-subdev-mbus-codes > >>> ioctl: VIDIOC_SUBDEV_ENUM_MBUS_CODE (pad=0) > >>> 0x300f: MEDIA_BUS_FMT_SRGGB10_1X10 > >>> # > >>> > >>> Signed-off-by: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx> > >> > >> Generally OK, but I have a few minor comments. > >> > >>> --- > >>> drivers/media/i2c/imx274.c | 14 ++++++++++++++ > >>> 1 file changed, 14 insertions(+) > >>> > >>> diff --git a/drivers/media/i2c/imx274.c b/drivers/media/i2c/imx274.c > >>> index 2e804e3b70c4..25a4ef8f6187 100644 > >>> --- a/drivers/media/i2c/imx274.c > >>> +++ b/drivers/media/i2c/imx274.c > >>> @@ -1909,7 +1909,21 @@ static int imx274_set_frame_interval(struct stimx274 *priv, > >>> return err; > >>> } > >>> > >>> +static int imx274_enum_mbus_code(struct v4l2_subdev *sd, > >>> + struct v4l2_subdev_state *sd_state, > >>> + struct v4l2_subdev_mbus_code_enum *code) > >>> +{ > >>> + if (code->index > 0) > >>> + return -EINVAL; > >> > >> Many driver do check code->pad too, so you might want to do > >> > >> if (code->pad > 0 || code->index > 0) > >> return -EINVAL; > > > > The caller will have checked the pad exists, and there's a single one on > > the subdev I suppose. > > Thanks for your explanation. That's very reasonable indeed. > > Now, why do many drivers do that? Old checks that later turned useless > and nobody ever removed? Some of those exists, that's for sure. The check was added to the callers a few years ago I think. Many drivers also have more pads but then they typically return something else than -EINVAL for the other pads. -- Sakari Ailus