| Message ID | 20200804161358.1628962-1-niklas.soderlund@ragnatech.se |
|---|---|
| Headers | show |
| Series |
|
| Related | show |
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@1/imx219@10 > - rkisp1 > base/i2c@ff160000/camera@36 > base/i2c@ff160000/camera@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@30800000/i2c@30a40000/camera@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 >
Hi Laurent, Thanks for your feedback. On 2020-08-04 22:47:12 +0300, Laurent Pinchart wrote: > 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@1/imx219@10 > > - rkisp1 > > base/i2c@ff160000/camera@36 > > base/i2c@ff160000/camera@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@30800000/i2c@30a40000/camera@36 This for this report, I'm happy it works for other hardware then the one I'm able to test on ;-) > > > 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
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@1/imx219@10 - rkisp1 base/i2c@ff160000/camera@36 base/i2c@ff160000/camera@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 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