Cover Letter Detail
Show a cover letter.
GET /api/covers/9207/?format=api
{ "id": 9207, "url": "https://patchwork.libcamera.org/api/covers/9207/?format=api", "web_url": "https://patchwork.libcamera.org/cover/9207/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20200805104900.2172763-1-niklas.soderlund@ragnatech.se>", "date": "2020-08-05T10:48:51", "name": "[libcamera-devel,v8,0/9] libcamera: Generate unique and stable camera IDs", "submitter": { "id": 5, "url": "https://patchwork.libcamera.org/api/people/5/?format=api", "name": "Niklas Söderlund", "email": "niklas.soderlund@ragnatech.se" }, "mbox": "https://patchwork.libcamera.org/cover/9207/mbox/", "series": [ { "id": 1192, "url": "https://patchwork.libcamera.org/api/series/1192/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1192", "date": "2020-08-05T10:48:51", "name": "libcamera: Generate unique and stable camera IDs", "version": 8, "mbox": "https://patchwork.libcamera.org/series/1192/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/9207/comments/", "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 ECB2ABD86F\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 5 Aug 2020 10:49:12 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 615ED60564;\n\tWed, 5 Aug 2020 12:49:12 +0200 (CEST)", "from bin-mail-out-06.binero.net (bin-mail-out-06.binero.net\n\t[195.74.38.229])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D25496039D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 5 Aug 2020 12:49:10 +0200 (CEST)", "from bismarck.berto.se (p54ac52a8.dip0.t-ipconnect.de\n\t[84.172.82.168]) by bin-vsp-out-02.atm.binero.net (Halon) with ESMTPA\n\tid 4811e39b-d709-11ea-a39b-005056917f90;\n\tWed, 05 Aug 2020 12:49:09 +0200 (CEST)" ], "X-Halon-ID": "4811e39b-d709-11ea-a39b-005056917f90", "Authorized-sender": "niklas@soderlund.pp.se", "From": "=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Wed, 5 Aug 2020 12:48:51 +0200", "Message-Id": "<20200805104900.2172763-1-niklas.soderlund@ragnatech.se>", "X-Mailer": "git-send-email 2.28.0", "MIME-Version": "1.0", "Subject": "[libcamera-devel] [PATCH v8 0/9] libcamera: Generate unique and\n\tstable camera IDs", "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": "Hello,\n\nThis series aims to make and enforce unique camera names that are static\nbetween system resets. This version is based on the previous version \nwith no big changes except fixing up bugs found in the previous review \ncycle.\n\nBefore this series camera names on different systems looked like this (I\ndo not have access to a simple pipeline device):\n\n- ipu3\n ov13858 8-0010\n ov5670 10-0036\n- raspberrypi\n imx219\n- rkisp1\n ov5695 7-0036\n ov2685 7-003c\n- uvcvideo\n Venus USB2.0 Camera: Venus USB2\n Logitech Webcam C930e\n- vimc\n VIMC Sensor B\n\nWith this series applied camera names on the same systems:\n\n- ipu3\n \\_SB_.PCI0.I2C2.CAM0\n \\_SB_.PCI0.I2C4.CAM1\n- raspberrypi\n /base/soc/i2c0mux/i2c@1/imx219@10\n- rkisp1\n /base/i2c@ff160000/camera@36\n /base/i2c@ff160000/camera@3c\n- uvcvideo\n \\_SB_.PCI0.RP05.PXSX-2.1.1:1.0-0ac8:3420\n \\_SB_.PCI0.RP05.PXSX-2.4:1.0-046d:0843\n- vimc\n platform/vimc.0 Sensor B\n\nLaurent reported a test from a simple pipeline device as:\n\n- Before: imx296 2-0036\n- After: /base/soc/bus@30800000/i2c@30a40000/camera@36\n\nNiklas Söderlund (9):\n libcamera: sysfs: Add helper to lookup sysfs path of a character\n device\n libcamera: sysfs: Add helper to lookup device firmware node path\n libcamera: v4l2_device: Add method to lookup device path\n libcamera: camera_sensor: Generate a sensor ID\n libcamera: camera_sensor: Add accessors for sensor ID\n libcamera: pipelines: Use sensor ID as camera name\n libcamera: pipeline: uvcvideo: Generate unique camera names\n libcamera: camera: Rename name() to id()\n libcamera: camera_manager: Enforce unique camera IDs\n\n include/libcamera/camera.h | 6 +-\n include/libcamera/internal/camera_sensor.h | 4 +\n include/libcamera/internal/meson.build | 1 +\n include/libcamera/internal/sysfs.h | 24 ++++\n include/libcamera/internal/v4l2_device.h | 1 +\n src/android/camera_device.cpp | 4 +-\n src/cam/main.cpp | 10 +-\n src/gstreamer/gstlibcameraprovider.cpp | 4 +-\n src/gstreamer/gstlibcamerasrc.cpp | 6 +-\n src/libcamera/camera.cpp | 51 +++++---\n src/libcamera/camera_controls.cpp | 2 +-\n src/libcamera/camera_manager.cpp | 20 ++--\n src/libcamera/camera_sensor.cpp | 47 ++++++++\n src/libcamera/framebuffer_allocator.cpp | 2 +-\n src/libcamera/meson.build | 1 +\n src/libcamera/pipeline/ipu3/ipu3.cpp | 14 +--\n .../pipeline/raspberrypi/raspberrypi.cpp | 7 +-\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 16 +--\n src/libcamera/pipeline/simple/simple.cpp | 2 +-\n src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 75 +++++++++++-\n src/libcamera/pipeline/vimc/vimc.cpp | 4 +-\n src/libcamera/sysfs.cpp | 109 ++++++++++++++++++\n src/libcamera/v4l2_device.cpp | 31 +++++\n src/qcam/dng_writer.cpp | 5 +-\n src/qcam/main_window.cpp | 26 ++---\n src/v4l2/v4l2_camera_proxy.cpp | 2 +-\n test/camera/buffer_import.cpp | 2 +-\n test/camera/capture.cpp | 2 +-\n test/camera/configuration_default.cpp | 2 +-\n test/camera/configuration_set.cpp | 2 +-\n test/camera/statemachine.cpp | 2 +-\n test/controls/control_info_map.cpp | 2 +-\n test/controls/control_list.cpp | 2 +-\n test/pipeline/ipu3/ipu3_pipeline_test.cpp | 2 +-\n test/pipeline/rkisp1/rkisp1_pipeline_test.cpp | 2 +-\n test/serialization/serialization_test.h | 2 +-\n 36 files changed, 403 insertions(+), 91 deletions(-)\n create mode 100644 include/libcamera/internal/sysfs.h\n create mode 100644 src/libcamera/sysfs.cpp" }