[libcamera-devel] [PATCH v7 0/9] libcamera: Generate unique and stable camera IDs
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Aug 4 21:47:12 CEST 2020
Hi Niklas,
Thank you for the patches.
On Tue, Aug 04, 2020 at 06:13:49PM +0200, Niklas Söderlund wrote:
> Hello,
>
> This series aims to make and enforce unique camera names that are static
> between system resets. This version is a complete rewrite of previous
> versions and centers around on firmware descriptions. Biggest chance in
> this version is that the UVC ides are reworked from scratch.
>
> 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 at 1/imx219 at 10
> - rkisp1
> base/i2c at ff160000/camera at 36
> base/i2c at ff160000/camera at 3c
> - uvcvideo
> \_SB_.PCI0.RP05.PXSX-2.1.1:1.0-0ac8:3420
> \_SB_.PCI0.RP05.PXSX-2.4:1.0-046d:0843
> - vimc
> platform:vimc Sensor B
That's really nice :-)
I've tested the patches with the simple pipeline handler:
- Before: imx296 2-0036
- After: base/soc/bus at 30800000/i2c at 30a40000/camera at 36
> Niklas Söderlund (9):
> libcamera: sysfs: Add new namespace to interact with sysfs
> libcamera: sysfs: Add method to lookup firmware ID
> libcamera: v4l2_device: Add method to lookup device path
> libcamera: camera_sensor: Generate a sensor ID
> libcamera: camera_sensor: Add accessors for sensor ID
> libcamera: pipelines: Use sensor ID as camera name
> libcamera: pipeline: uvcvideo: Generate unique camera names
> libcamera: camera: Rename name() to id()
> libcamera: camera_manager: Enforce unique camera IDs
>
> include/libcamera/camera.h | 6 +-
> include/libcamera/internal/camera_sensor.h | 4 +
> include/libcamera/internal/meson.build | 1 +
> include/libcamera/internal/sysfs.h | 24 ++++
> include/libcamera/internal/v4l2_device.h | 1 +
> src/android/camera_device.cpp | 4 +-
> src/cam/main.cpp | 8 +-
> src/gstreamer/gstlibcameraprovider.cpp | 4 +-
> src/gstreamer/gstlibcamerasrc.cpp | 6 +-
> src/libcamera/camera.cpp | 40 ++++---
> src/libcamera/camera_controls.cpp | 2 +-
> src/libcamera/camera_manager.cpp | 20 ++--
> src/libcamera/camera_sensor.cpp | 48 ++++++++
> src/libcamera/framebuffer_allocator.cpp | 2 +-
> src/libcamera/meson.build | 1 +
> src/libcamera/pipeline/ipu3/ipu3.cpp | 12 +-
> .../pipeline/raspberrypi/raspberrypi.cpp | 7 +-
> src/libcamera/pipeline/rkisp1/rkisp1.cpp | 16 +--
> src/libcamera/pipeline/simple/simple.cpp | 2 +-
> src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 77 ++++++++++++-
> src/libcamera/pipeline/vimc/vimc.cpp | 4 +-
> src/libcamera/sysfs.cpp | 105 ++++++++++++++++++
> src/libcamera/v4l2_device.cpp | 28 +++++
> src/qcam/dng_writer.cpp | 4 +-
> src/qcam/main_window.cpp | 18 +--
> src/v4l2/v4l2_camera_proxy.cpp | 2 +-
> test/camera/buffer_import.cpp | 2 +-
> test/camera/capture.cpp | 2 +-
> test/camera/configuration_default.cpp | 2 +-
> test/camera/configuration_set.cpp | 2 +-
> test/camera/statemachine.cpp | 2 +-
> test/controls/control_info_map.cpp | 2 +-
> test/controls/control_list.cpp | 2 +-
> test/pipeline/ipu3/ipu3_pipeline_test.cpp | 2 +-
> test/pipeline/rkisp1/rkisp1_pipeline_test.cpp | 2 +-
> test/serialization/serialization_test.h | 2 +-
> 36 files changed, 381 insertions(+), 85 deletions(-)
> create mode 100644 include/libcamera/internal/sysfs.h
> create mode 100644 src/libcamera/sysfs.cpp
>
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list