[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20250822170435.7057-1-support@pinefeat.co.uk>
Date: Fri, 22 Aug 2025 18:04:35 +0100
From: Aliaksandr Smirnou <support@...efeat.co.uk>
To: jacopo.mondi@...asonboard.com
Cc: conor+dt@...nel.org,
devicetree@...r.kernel.org,
hverkuil@...all.nl,
krzk+dt@...nel.org,
linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org,
mchehab@...nel.org,
robh@...nel.org,
support@...efeat.co.uk
Subject: Re: [PATCH v3 2/2] media: i2c: Pinefeat cef168 lens control board driver
On Wed, 20 Aug 2025 14:56:38 +0200, Jacopo Mondi wrote:
> > > > + ctrl->id != CEF168_V4L2_CID_CUSTOM(data) &&
> > > > + ctrl->id != CEF168_V4L2_CID_CUSTOM(focus_range) &&
> > > > + ctrl->id != CEF168_V4L2_CID_CUSTOM(lens_id))
> > > > + return -EINVAL;
> > >
> > > If you mark them WRITE_ONLY wouldn't the core take care of this ?
> >
> > These controls are read-only. The data they return depens on the lens.
> >
>
> Sorry, I wasn't clear.
>
> If you mark as WO the controls you don't accept here, will the core
> handle this for you ?
I see what you mean now. Indeed, the other controls are alredy WO, so the
core will not let them pass here. I'll remove this check as redundant.
> > > > +#define CEF168_V4L2_CID_CUSTOM(ctrl) \
> > > > + ((V4L2_CID_USER_BASE | 168) + custom_##ctrl)
> > >
> > > I think you need to reserve space for your controls in
> > > include/uapi/linux/v4l2-controls.h
> > >
> > > otherwise this will never be visible to applications ?
> >
> > I found there is no need for that. Custom control become available
> > automatically by name via the v4l2-ctl utility. For example, the focus
> > range can be read directly in the terminal as follows:
> >
> > v4l2-ctl -d $DEV_LENS -C focus_range
> >
>
> Yes the driver enuemrates them, but you need to add them to the main
> header, otherwise USER_BASE | 168 will be take by someone else.
>
I see, ok, I'll reserve 16 controls for this driver in v4l2-controls.h.
Thank you for your help.
Kind regards,
Aliaksandr
Powered by blists - more mailing lists