Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp2086751ybl; Thu, 15 Aug 2019 06:22:48 -0700 (PDT) X-Google-Smtp-Source: APXvYqzqn9lY9RvinX2tR6HxQjG/l532UMDeJZCJISqLHVrvr+fphNt8PEmd530ttUCTTK5+HRjR X-Received: by 2002:aa7:8106:: with SMTP id b6mr5400187pfi.5.1565875368488; Thu, 15 Aug 2019 06:22:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565875368; cv=none; d=google.com; s=arc-20160816; b=I6fR+TeOHypDvmyN2n6hM9b/ZmqdiOyV4qnZg6o5l9zB8wMcVwbJYqW3+B8eSe4XUF /JOwJqDMNmnmjfWlBrlSbIuUGIm99Z2ENzr6/hR+dKXDOARnStkzabfmB6zxEpHRfvlZ e9ZzgiQ2/mlfPRBx3GtUz9vfZ5kPtbS0HawR0A3KLC7PgmaK7iOgQoy8JyWVwFlG5h9i biFSs4Narz2+uSfMEFoIICNCCI1jnIeJgIZUIzi+94uv5GqC9l1hcZDPmUG34ma3v7tO 3e5B5TsFdb8+2KGt/sjU0LxOQZc2v/jbcJ2iYz7+/N8joi79VprPpHmm+iNN9QSxqC16 /MgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=Ksqm3mCCfC8d2Gx6yZUS5Lu7yBoXTvXhxBHPTouK0+k=; b=yG5B60+4ITdj0VXc8riS1K3mnnV/+69J0HwTPo1xfoEegqVrItf+YwGk6LXB3HPNK4 +KA6RTomH9nqFgzwoU5/n6wH4bkPM6s8gWWqlNHs++yp0s5CWUWjD/bJDvxm6jcM1ewp ZnyVBoPc8gohzRsE9DUGsHQFAxQnBg8naLC22zo70GVDozDdbbfUfVsI89+nKOh9kIIk cYN3UMq0Nd1tW+yKlYH6ao5R/7I82M8SADdhbVaLjd7/gG2dyZ9e1zxoZgz8bo9DNQbH NVpV9JByabBf245CSHJkoDwjm66fMRS7mVK7ekVXqpKj5FGnb6j5FMPtNWyEBv11yFfh s59g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=XApBsCOl; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d13si2020271pfo.33.2019.08.15.06.22.32; Thu, 15 Aug 2019 06:22:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=XApBsCOl; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732237AbfHONUE (ORCPT + 99 others); Thu, 15 Aug 2019 09:20:04 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:45708 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730304AbfHONUE (ORCPT ); Thu, 15 Aug 2019 09:20:04 -0400 Received: from pendragon.ideasonboard.com (dfj612yhrgyx302h3jwwy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:ce28:277f:58d7:3ca4]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 8E7912AF; Thu, 15 Aug 2019 15:20:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1565875202; bh=eDIJZI2UnIojM1PRCFwzGcZMZQDhOZCW8hi2JK1Jnlc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=XApBsCOlCxHaIV20Kt0Y2iPt6JMsbIBf13lrTWxASnf1jiqSnyil0n97NwJLPsJld b+pkOeQU/c/pOuuydS+FGDb2OTYCFcbJxtSOK/aNdZL+p1gB7T/YNVFGR8gHSClSuk idInnjau2tlAXHhDJq4OhN3aKl+f5iY6e4jCO1QQ= Date: Thu, 15 Aug 2019 16:19:59 +0300 From: Laurent Pinchart To: Sakari Ailus Cc: Jacopo Mondi , Mauro Carvalho Chehab , Hans Verkuil , "open list:MEDIA INPUT INFRASTRUCTURE (V4L/DVB)" , open list Subject: Re: [RFC 2/5] media: v4l2-ctrl: Document V4L2_CID_LOCATION Message-ID: <20190815131959.GQ5011@pendragon.ideasonboard.com> References: <20190814202815.32491-1-jacopo@jmondi.org> <20190814202815.32491-3-jacopo@jmondi.org> <20190815070025.GK6133@paasikivi.fi.intel.com> <20190815125938.GI13823@pendragon.ideasonboard.com> <20190815130849.GQ6133@paasikivi.fi.intel.com> <20190815131053.GO5011@pendragon.ideasonboard.com> <20190815131509.GR6133@paasikivi.fi.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20190815131509.GR6133@paasikivi.fi.intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 15, 2019 at 04:15:10PM +0300, Sakari Ailus wrote: > On Thu, Aug 15, 2019 at 04:10:53PM +0300, Laurent Pinchart wrote: > > On Thu, Aug 15, 2019 at 04:08:49PM +0300, Sakari Ailus wrote: > >> On Thu, Aug 15, 2019 at 03:59:38PM +0300, Laurent Pinchart wrote: > >>> On Thu, Aug 15, 2019 at 10:00:25AM +0300, Sakari Ailus wrote: > >>>> On Wed, Aug 14, 2019 at 10:28:12PM +0200, Jacopo Mondi wrote: > >>>>> Add documentation for the V4L2_CID_LOCATION camera control. The newly > >>>>> added read-only control reports the camera device mounting position. > >>>>> > >>>>> Signed-off-by: Jacopo Mondi > >>>>> --- > >>>>> .../media/uapi/v4l/ext-ctrls-camera.rst | 23 +++++++++++++++++++ > >>>>> 1 file changed, 23 insertions(+) > >>>>> > >>>>> diff --git a/Documentation/media/uapi/v4l/ext-ctrls-camera.rst b/Documentation/media/uapi/v4l/ext-ctrls-camera.rst > >>>>> index 51c1d5c9eb00..fc0a02eee6d4 100644 > >>>>> --- a/Documentation/media/uapi/v4l/ext-ctrls-camera.rst > >>>>> +++ b/Documentation/media/uapi/v4l/ext-ctrls-camera.rst > >>>>> @@ -510,6 +510,29 @@ enum v4l2_scene_mode - > >>>>> value down. A value of zero stops the motion if one is in progress > >>>>> and has no effect otherwise. > >>>>> > >>>>> +``V4L2_CID_LOCATION (integer)`` > >>>>> + This read-only control describes the camera location by reporting its > >>>>> + mounting position on the device where the camera is installed. This > >>>>> + control is particularly meaningful for devices which have a well defined > >>>>> + orientation, such as phones, laptops and portable devices as the camera > >>>>> + location is expressed as a position relative to the device intended > >>>>> + usage position. In example, a camera installed on the user-facing side > >>>> > >>>> s/In/For/ > >>>> > >>>>> + of a phone device is said to be installed in the ``V4L2_LOCATION_FRONT`` > >>>>> + position. > >>>>> + > >>>>> + > >>>>> + > >>>>> +.. flat-table:: > >>>>> + :header-rows: 0 > >>>>> + :stub-columns: 0 > >>>>> + > >>>>> + * - ``V4L2_LOCATION_FRONT`` > >>>>> + - The camera device is located on the front side of the device. > >>>>> + * - ``V4L2_LOCATION_BACK`` > >>>>> + - The camera device is located on the back side of the device. > >>>>> + > >>>>> + > >>>>> + > >>>>> .. [#f1] > >>>>> This control may be changed to a menu control in the future, if more > >>>>> options are required. > >>>> > >>>> There's an effective limit of 64 for menus. ACPI has less than ten > >>>> different locations for a device, I think 64 will be enough here. > >>>> > >>>> So I'd be actually in favour of switching to a menu. > >>> > >>> Why ? As you explained yourself, it's a static read-only control, all it > >>> needs to report is a single value. > >> > >> Yes. That's true. It wasn't meant for this but it's nevertheless a > >> convenient API to get that information, both as integer and string. > > > > But why is that needed ? The integer seems enough to me. > > Because it's a qualitative control, not a quantitative one. And ? :-) The integer values are defined in the V4L2 spec, they map to a usage, and a name can easily be derived from that in userspace if desired. -- Regards, Laurent Pinchart