[libcamera-devel] [PATCH v8 0/9] libcamera: Generate unique and stable camera IDs
Niklas Söderlund
niklas.soderlund at ragnatech.se
Wed Aug 5 12:48:51 CEST 2020
Hello,
This series aims to make and enforce unique camera names that are static
between system resets. This version is based on the previous version
with no big changes except fixing up bugs found in the previous review
cycle.
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.0 Sensor B
Laurent reported a test from a simple pipeline device as:
- Before: imx296 2-0036
- After: /base/soc/bus at 30800000/i2c at 30a40000/camera at 36
Niklas Söderlund (9):
libcamera: sysfs: Add helper to lookup sysfs path of a character
device
libcamera: sysfs: Add helper to lookup device firmware node path
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 | 10 +-
src/gstreamer/gstlibcameraprovider.cpp | 4 +-
src/gstreamer/gstlibcamerasrc.cpp | 6 +-
src/libcamera/camera.cpp | 51 +++++---
src/libcamera/camera_controls.cpp | 2 +-
src/libcamera/camera_manager.cpp | 20 ++--
src/libcamera/camera_sensor.cpp | 47 ++++++++
src/libcamera/framebuffer_allocator.cpp | 2 +-
src/libcamera/meson.build | 1 +
src/libcamera/pipeline/ipu3/ipu3.cpp | 14 +--
.../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 | 75 +++++++++++-
src/libcamera/pipeline/vimc/vimc.cpp | 4 +-
src/libcamera/sysfs.cpp | 109 ++++++++++++++++++
src/libcamera/v4l2_device.cpp | 31 +++++
src/qcam/dng_writer.cpp | 5 +-
src/qcam/main_window.cpp | 26 ++---
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, 403 insertions(+), 91 deletions(-)
create mode 100644 include/libcamera/internal/sysfs.h
create mode 100644 src/libcamera/sysfs.cpp
--
2.28.0
More information about the libcamera-devel
mailing list