linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jacopo Mondi <jacopo@jmondi.org>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>,
	Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	"open list:MEDIA INPUT INFRASTRUCTURE (V4L/DVB)" 
	<linux-media@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [RFC 3/5] media: v4l2-ctrls: Add support for V4L2_CID_LOCATION
Date: Thu, 15 Aug 2019 15:02:45 +0200	[thread overview]
Message-ID: <20190815130245.usat55oqffe4abvi@uno.localdomain> (raw)
In-Reply-To: <20190814225353.GE5015@pendragon.ideasonboard.com>

[-- Attachment #1: Type: text/plain, Size: 3269 bytes --]

Hi Laurent,

On Thu, Aug 15, 2019 at 01:53:53AM +0300, Laurent Pinchart wrote:
> Hi Jacopo,
>
> Thank you for the patch.
>
> On Wed, Aug 14, 2019 at 10:28:13PM +0200, Jacopo Mondi wrote:
> > Add support for the newly defined V4L2_CID_LOCATION read-only control
> > used to report the camera device mounting position.
> >
> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
> > ---
> >  drivers/media/v4l2-core/v4l2-ctrls.c | 7 +++++++
> >  include/uapi/linux/v4l2-controls.h   | 4 ++++
> >  2 files changed, 11 insertions(+)
> >
> > diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
> > index 7d3a33258748..8ab0857df59a 100644
> > --- a/drivers/media/v4l2-core/v4l2-ctrls.c
> > +++ b/drivers/media/v4l2-core/v4l2-ctrls.c
> > @@ -943,6 +943,7 @@ const char *v4l2_ctrl_get_name(u32 id)
> >  	case V4L2_CID_AUTO_FOCUS_RANGE:		return "Auto Focus, Range";
> >  	case V4L2_CID_PAN_SPEED:		return "Pan, Speed";
> >  	case V4L2_CID_TILT_SPEED:		return "Tilt, Speed";
> > +	case V4L2_CID_LOCATION:			return "Location";
>
> Depending on what we decide to name the control (see review of 2/5), you
> should adjust the description accordingly.
>
> >
> >  	/* FM Radio Modulator controls */
> >  	/* Keep the order of the 'case's the same as in v4l2-controls.h! */
> > @@ -1300,6 +1301,12 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
> >  		break;
> >  	case V4L2_CID_MPEG_VIDEO_FWHT_PARAMS:
> >  		*type = V4L2_CTRL_TYPE_FWHT_PARAMS;
> > +	case V4L2_CID_LOCATION:
> > +		*type = V4L2_CTRL_TYPE_INTEGER;
> > +		*flags |= V4L2_CTRL_FLAG_READ_ONLY;
> > +		*min = V4L2_LOCATION_FRONT;
> > +		*max = V4L2_LOCATION_BACK;
>
> I don't think the control should have a min and a max different than the
> current value, as it's a fully static control. I'd drop those two lines
> here, and drivers will have to set value = min = max = V4L2_LOCATION_xxx
> when creating the control. That why you should be able to collapse this
> with V4L2_CID_MIN_BUFFERS_FOR_OUTPUT.
>

Ah, I thought min/max should report the actual control values limits.
Anyway, if we move this to be an integer menu control with an helper
to parse the DT property and register the control on behalf of
drivers, this will change.

> > +		*step = 1;
> >  		break;
> >  	default:
> >  		*type = V4L2_CTRL_TYPE_INTEGER;
> > diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
> > index 37807f23231e..5c4c7b245921 100644
> > --- a/include/uapi/linux/v4l2-controls.h
> > +++ b/include/uapi/linux/v4l2-controls.h
> > @@ -889,6 +889,10 @@ enum v4l2_auto_focus_range {
> >  #define V4L2_CID_PAN_SPEED			(V4L2_CID_CAMERA_CLASS_BASE+32)
> >  #define V4L2_CID_TILT_SPEED			(V4L2_CID_CAMERA_CLASS_BASE+33)
> >
> > +#define V4L2_CID_LOCATION			(V4L2_CID_CAMERA_CLASS_BASE+34)
> > +#define V4L2_LOCATION_FRONT			(0 << 0)
> > +#define V4L2_LOCATION_BACK			(1 << 0)
>
> Why not just 0 and 1 ?

Or why not BIT(). I saw that the (1 << x) style is the mostly used one in
this header file when defining macros like this one so I went for
consistency with the existing code.

>
> > +
> >  /* FM Modulator class control IDs */
> >
> >  #define V4L2_CID_FM_TX_CLASS_BASE		(V4L2_CTRL_CLASS_FM_TX | 0x900)
>
> --
> Regards,
>
> Laurent Pinchart

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2019-08-15 13:01 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-14 20:28 [RFC 0/5] media: v4l2-ctrls: Add camera 'location' support Jacopo Mondi
2019-08-14 20:28 ` [RFC 1/5] media: dt-bindings: Document 'location' property Jacopo Mondi
2019-08-14 22:40   ` Laurent Pinchart
2019-08-15  6:56   ` Sakari Ailus
2019-08-15 12:55     ` Laurent Pinchart
2019-08-15 12:55     ` Jacopo Mondi
2019-08-15 12:58       ` Laurent Pinchart
2019-09-01 17:24     ` Pavel Machek
2019-09-02  8:02       ` Laurent Pinchart
2019-09-02  8:11         ` Pavel Machek
2019-08-14 20:28 ` [RFC 2/5] media: v4l2-ctrl: Document V4L2_CID_LOCATION Jacopo Mondi
2019-08-14 22:43   ` Laurent Pinchart
2019-08-15 12:58     ` Jacopo Mondi
2019-08-15 14:10     ` Hans Verkuil
2019-08-15 14:14       ` Hans Verkuil
2019-08-15 14:34         ` Jacopo Mondi
2019-08-15 14:40           ` Hans Verkuil
2019-08-15 15:12             ` Sakari Ailus
2019-09-01 17:24             ` Pavel Machek
2019-09-02  8:00               ` Laurent Pinchart
2019-09-02  8:06                 ` Pavel Machek
2019-09-02  8:19                   ` Laurent Pinchart
2019-09-02  8:27                     ` Pavel Machek
2019-09-02  8:53                       ` Laurent Pinchart
2019-09-02  9:41               ` Jacopo Mondi
2019-08-15  7:00   ` Sakari Ailus
2019-08-15 12:59     ` Laurent Pinchart
2019-08-15 13:08       ` Sakari Ailus
2019-08-15 13:10         ` Laurent Pinchart
2019-08-15 13:15           ` Sakari Ailus
2019-08-15 13:19             ` Laurent Pinchart
2019-08-15 13:30   ` Hans Verkuil
2019-08-15 13:48     ` Laurent Pinchart
2019-08-15 14:02     ` Jacopo Mondi
2019-08-14 20:28 ` [RFC 3/5] media: v4l2-ctrls: Add support for V4L2_CID_LOCATION Jacopo Mondi
2019-08-14 22:53   ` Laurent Pinchart
2019-08-15 13:02     ` Jacopo Mondi [this message]
2019-08-15 13:03       ` Laurent Pinchart
2019-08-15 13:41       ` Hans Verkuil
2019-08-15 13:50         ` Jacopo Mondi
2019-08-15 14:12           ` Hans Verkuil
2019-08-15 13:23   ` Hans Verkuil
2019-08-15 13:50     ` Jacopo Mondi
2019-08-14 20:28 ` [RFC 4/5] media: i2c: ov5670: Report the camera location Jacopo Mondi
2019-08-14 23:03   ` Laurent Pinchart
2019-08-15  7:04   ` Sakari Ailus
2019-08-14 20:28 ` [RFC 5/5] media: i2c: ov13858: " Jacopo Mondi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190815130245.usat55oqffe4abvi@uno.localdomain \
    --to=jacopo@jmondi.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).