From patchwork Tue Jul 28 23:37:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Niklas_S=C3=B6derlund?= X-Patchwork-Id: 9048 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id C96CEBD878 for ; Tue, 28 Jul 2020 23:37:58 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 2E1E6613C6; Wed, 29 Jul 2020 01:37:58 +0200 (CEST) Received: from bin-mail-out-06.binero.net (bin-mail-out-06.binero.net [195.74.38.229]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 271DB60535 for ; Wed, 29 Jul 2020 01:37:56 +0200 (CEST) X-Halon-ID: 5a292173-d12b-11ea-8fb8-005056917f90 Authorized-sender: niklas@soderlund.pp.se Received: from bismarck.berto.se (p4fca2eca.dip0.t-ipconnect.de [79.202.46.202]) by bin-vsp-out-02.atm.binero.net (Halon) with ESMTPA id 5a292173-d12b-11ea-8fb8-005056917f90; Wed, 29 Jul 2020 01:37:54 +0200 (CEST) From: =?utf-8?q?Niklas_S=C3=B6derlund?= To: libcamera-devel@lists.libcamera.org Date: Wed, 29 Jul 2020 01:37:39 +0200 Message-Id: <20200728233744.3503740-1-niklas.soderlund@ragnatech.se> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 0/5] libcamera: Generate unique and stable camera names X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hello, This series aims to make and enforce unique camera names that are static between system resets. This v3 is a complete rewrite of v1 and v2 of this series that centered around bus information and location informat instead of this v3 that focus on firmware descriptions. Before this series camera names on different systems looked like this (I do not have access to a simple pipeline device): - ipu3 ov13858 8-0010 ov5670 10-0036 - raspberrypi imx219 - rkisp1 ov5695 7-0036 ov2685 7-003c - uvcvideo Venus USB2.0 Camera: Venus USB2 Logitech Webcam C930e - vimc VIMC Sensor B With this series applied camera names on the same systems: - ipu3 \_SB_.PCI0.I2C2.CAM0 \_SB_.PCI0.I2C4.CAM1 - raspberrypi base/soc/i2c0mux/i2c@1/imx219@10 - rkisp1 base/i2c@ff160000/camera@36 base/i2c@ff160000/camera@3c - uvcvideo 0ac8:3420:3:10 046d:0843:3:4 - vimc VIMC Sensor B Niklas Söderlund (5): libcamera: v4l2_device: Add method to lookup device path libcamera: camera_sensor: Generate a sensor ID libcamera: camera: Generate camera name from a CameraSensor libcamera: pipeline: uvcvideo: Generate unique camera names libcamera: camera_manager: Enforce unique camera names include/libcamera/camera.h | 5 ++ include/libcamera/internal/camera_sensor.h | 4 + include/libcamera/internal/v4l2_device.h | 1 + src/libcamera/camera.cpp | 19 +++++ src/libcamera/camera_manager.cpp | 6 +- src/libcamera/camera_sensor.cpp | 85 +++++++++++++++++++ src/libcamera/pipeline/ipu3/ipu3.cpp | 12 ++- .../pipeline/raspberrypi/raspberrypi.cpp | 3 +- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +- src/libcamera/pipeline/simple/simple.cpp | 2 +- src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 34 +++++++- src/libcamera/pipeline/vimc/vimc.cpp | 4 +- src/libcamera/v4l2_device.cpp | 24 ++++++ 13 files changed, 185 insertions(+), 16 deletions(-)