{"id":10837,"url":"https://patchwork.libcamera.org/api/patches/10837/?format=json","web_url":"https://patchwork.libcamera.org/patch/10837/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20210107094735.11673-6-jacopo@jmondi.org>","date":"2021-01-07T09:47:30","name":"[libcamera-devel,v6,05/10] libcamera: camera_sensor: Default 'location' to External","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"5ba9650e483e536066efe3c8c5566e2dfd4a34a5","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/?format=json","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"delegate":{"id":15,"url":"https://patchwork.libcamera.org/api/users/15/?format=json","username":"jmondi","first_name":"Jacopo","last_name":"Mondi","email":"jacopo@jmondi.org"},"mbox":"https://patchwork.libcamera.org/patch/10837/mbox/","series":[{"id":1571,"url":"https://patchwork.libcamera.org/api/series/1571/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1571","date":"2021-01-07T09:47:25","name":"libcamera: camera_sensor: Make validation more strict","version":6,"mbox":"https://patchwork.libcamera.org/series/1571/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/10837/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/10837/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C59ACC0F1A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  7 Jan 2021 09:47:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7757567E6A;\n\tThu,  7 Jan 2021 10:47:31 +0100 (CET)","from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net\n\t[217.70.183.199])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6080B60318\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  7 Jan 2021 10:47:30 +0100 (CET)","from uno.localdomain (unknown [93.56.74.111])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 9D6A0FF813;\n\tThu,  7 Jan 2021 09:47:29 +0000 (UTC)"],"X-Originating-IP":"93.56.74.111","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"libcamera-devel@lists.libcamera.org","Date":"Thu,  7 Jan 2021 10:47:30 +0100","Message-Id":"<20210107094735.11673-6-jacopo@jmondi.org>","X-Mailer":"git-send-email 2.29.2","In-Reply-To":"<20210107094735.11673-1-jacopo@jmondi.org>","References":"<20210107094735.11673-1-jacopo@jmondi.org>","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH v6 05/10] libcamera: camera_sensor:\n\tDefault 'location' to External","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"If the sensor driver does not report the camera location default it\nto 'External' instead of 'Front'.\n\nAs the camera location is used to construct the camera unique name\npresented to the user, it makes more sense to report multiple 'External'\ncameras instead of multiple 'Front' ones.\n\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\n---\n src/libcamera/camera_sensor.cpp | 11 +++++------\n 1 file changed, 5 insertions(+), 6 deletions(-)","diff":"diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp\nindex e8caa4467643..71aa268f3b4f 100644\n--- a/src/libcamera/camera_sensor.cpp\n+++ b/src/libcamera/camera_sensor.cpp\n@@ -345,7 +345,6 @@ int CameraSensor::initProperties()\n \tconst ControlInfoMap &controls = subdev_->controls();\n \tint32_t propertyValue;\n \n-\t/* Camera Location: default is front location. */\n \tconst auto &orientation = controls.find(V4L2_CID_CAMERA_ORIENTATION);\n \tif (orientation != controls.end()) {\n \t\tint32_t v4l2Orientation = orientation->second.def().get<int32_t>();\n@@ -354,20 +353,20 @@ int CameraSensor::initProperties()\n \t\tdefault:\n \t\t\tLOG(CameraSensor, Warning)\n \t\t\t\t<< \"Unsupported camera location \"\n-\t\t\t\t<< v4l2Orientation << \", setting to Front\";\n+\t\t\t\t<< v4l2Orientation << \", setting to External\";\n \t\t\t/* Fall-through */\n+\t\tcase V4L2_CAMERA_ORIENTATION_EXTERNAL:\n+\t\t\tpropertyValue = properties::CameraLocationExternal;\n+\t\t\tbreak;\n \t\tcase V4L2_CAMERA_ORIENTATION_FRONT:\n \t\t\tpropertyValue = properties::CameraLocationFront;\n \t\t\tbreak;\n \t\tcase V4L2_CAMERA_ORIENTATION_BACK:\n \t\t\tpropertyValue = properties::CameraLocationBack;\n \t\t\tbreak;\n-\t\tcase V4L2_CAMERA_ORIENTATION_EXTERNAL:\n-\t\t\tpropertyValue = properties::CameraLocationExternal;\n-\t\t\tbreak;\n \t\t}\n \t} else {\n-\t\tpropertyValue = properties::CameraLocationFront;\n+\t\tpropertyValue = properties::CameraLocationExternal;\n \t}\n \tproperties_.set(properties::Location, propertyValue);\n \n","prefixes":["libcamera-devel","v6","05/10"]}