From patchwork Wed Jul 29 11:50:50 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: 9071 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 63AEBBD86F for ; Wed, 29 Jul 2020 11:51:03 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id A73D8617AF; Wed, 29 Jul 2020 13:51:02 +0200 (CEST) Received: from bin-mail-out-05.binero.net (bin-mail-out-05.binero.net [195.74.38.228]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 9A7AD6039D for ; Wed, 29 Jul 2020 13:51:01 +0200 (CEST) X-Halon-ID: c400b930-d191-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 c400b930-d191-11ea-8fb8-005056917f90; Wed, 29 Jul 2020 13:51:00 +0200 (CEST) From: =?utf-8?q?Niklas_S=C3=B6derlund?= To: libcamera-devel@lists.libcamera.org Date: Wed, 29 Jul 2020 13:50:50 +0200 Message-Id: <20200729115055.3840110-1-niklas.soderlund@ragnatech.se> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v5 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 version is a complete rewrite of v1 and v2 of this series that centered around bus and location information 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 | 18 ++++ src/libcamera/camera_manager.cpp | 6 +- src/libcamera/camera_sensor.cpp | 94 +++++++++++++++++++ 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 | 35 ++++++- src/libcamera/pipeline/vimc/vimc.cpp | 4 +- src/libcamera/v4l2_device.cpp | 24 +++++ 13 files changed, 194 insertions(+), 16 deletions(-)