[libcamera-devel] [PATCH v7 6/9] libcamera: pipelines: Use sensor ID as camera name

Jacopo Mondi jacopo at jmondi.org
Wed Aug 5 09:32:36 CEST 2020


Hi Niklas,

On Tue, Aug 04, 2020 at 06:13:55PM +0200, Niklas Söderlund wrote:
> Use the CameraSensor ID as the camera name in pipelines that uses a
> CameraSensors, this is done in preparation of turning the camera name
> into an ID. The CameraSensor ID meets the requirements that will be put
> on camera ID.
>
> Before this change example of camera names:
>
> * OF based systems
>     ov5695 7-0036
>     ov2685 7-003c
>
> * ACPI based systems
>     ov13858 8-0010
>     ov5670 10-0036
>
> * VIMC
>     VIMC Sensor B
>
> After this change the same cameras are:
>
> * OF based systems
>     base/i2c at ff160000/camera at 36
>     base/i2c at ff160000/camera at 3c
>
> * ACPI based systems
>     \_SB_.PCI0.I2C2.CAM0
>     \_SB_.PCI0.I2C4.CAM1
>
> * VIMC
>     platform:vimc Sensor B
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>

Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

Thanks
  j

> ---
>  src/libcamera/pipeline/ipu3/ipu3.cpp               | 7 +++----
>  src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 3 ++-
>  src/libcamera/pipeline/rkisp1/rkisp1.cpp           | 2 +-
>  src/libcamera/pipeline/simple/simple.cpp           | 2 +-
>  src/libcamera/pipeline/vimc/vimc.cpp               | 4 ++--
>  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/serialization/serialization_test.h            | 2 +-
>  13 files changed, 17 insertions(+), 17 deletions(-)
>
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index c1f9fdf1013c7ec0..c300f570d727e03e 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -805,10 +805,9 @@ int PipelineHandlerIPU3::registerCameras()
>  					&IPU3CameraData::imguOutputBufferReady);
>
>  		/* Create and register the Camera instance. */
> -		std::string cameraName = cio2->sensor()->entity()->name();
> -		std::shared_ptr<Camera> camera = Camera::create(this,
> -								cameraName,
> -								streams);
> +		std::string cameraName = cio2->sensor()->id();
> +		std::shared_ptr<Camera> camera =
> +			Camera::create(this, cameraName, streams);
>
>  		registerCamera(std::move(camera), std::move(data));
>
> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> index 82a0a4dfd6824fce..c55d7325cd44d6cb 100644
> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> @@ -972,7 +972,8 @@ bool PipelineHandlerRPi::match(DeviceEnumerator *enumerator)
>  	streams.insert(&data->isp_[Isp::Stats]);
>
>  	/* Create and register the camera. */
> -	std::shared_ptr<Camera> camera = Camera::create(this, data->sensor_->model(), streams);
> +	std::shared_ptr<Camera> camera =
> +		Camera::create(this, data->sensor_->id(), streams);
>  	registerCamera(std::move(camera), std::move(data));
>
>  	return true;
> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> index 52a0d862417cc4ec..94561062c2b9d4fc 100644
> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> @@ -971,7 +971,7 @@ int PipelineHandlerRkISP1::createCamera(MediaEntity *sensor)
>
>  	std::set<Stream *> streams{ &data->stream_ };
>  	std::shared_ptr<Camera> camera =
> -		Camera::create(this, sensor->name(), streams);
> +		Camera::create(this, data->sensor_->id(), streams);
>  	registerCamera(std::move(camera), std::move(data));
>
>  	return 0;
> diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
> index 0bab5af86f05d63c..eb72e3b8a2996342 100644
> --- a/src/libcamera/pipeline/simple/simple.cpp
> +++ b/src/libcamera/pipeline/simple/simple.cpp
> @@ -815,7 +815,7 @@ bool SimplePipelineHandler::match(DeviceEnumerator *enumerator)
>  			continue;
>
>  		std::shared_ptr<Camera> camera =
> -			Camera::create(this, data->sensor_->entity()->name(),
> +			Camera::create(this, data->sensor_->id(),
>  				       data->streams());
>  		registerCamera(std::move(camera), std::move(data));
>  	}
> diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp
> index 4f461b928514022d..cf244f11f2423dea 100644
> --- a/src/libcamera/pipeline/vimc/vimc.cpp
> +++ b/src/libcamera/pipeline/vimc/vimc.cpp
> @@ -432,9 +432,9 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator)
>  		return false;
>
>  	/* Create and register the camera. */
> -	std::string name{ "VIMC " + data->sensor_->model() };
>  	std::set<Stream *> streams{ &data->stream_ };
> -	std::shared_ptr<Camera> camera = Camera::create(this, name, streams);
> +	std::shared_ptr<Camera> camera =
> +		Camera::create(this, data->sensor_->id(), streams);
>  	registerCamera(std::move(camera), std::move(data));
>
>  	return true;
> diff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp
> index ad680a83f9187213..e8a7d1df52d3782c 100644
> --- a/test/camera/buffer_import.cpp
> +++ b/test/camera/buffer_import.cpp
> @@ -28,7 +28,7 @@ class BufferImportTest : public CameraTest, public Test
>  {
>  public:
>  	BufferImportTest()
> -		: CameraTest("VIMC Sensor B")
> +		: CameraTest("platform:vimc Sensor B")
>  	{
>  	}
>
> diff --git a/test/camera/capture.cpp b/test/camera/capture.cpp
> index f6b2f348bda52752..d5ed6e72626cf87d 100644
> --- a/test/camera/capture.cpp
> +++ b/test/camera/capture.cpp
> @@ -18,7 +18,7 @@ class Capture : public CameraTest, public Test
>  {
>  public:
>  	Capture()
> -		: CameraTest("VIMC Sensor B")
> +		: CameraTest("platform:vimc Sensor B")
>  	{
>  	}
>
> diff --git a/test/camera/configuration_default.cpp b/test/camera/configuration_default.cpp
> index 31c908d2449eafe7..ea97493d915fd107 100644
> --- a/test/camera/configuration_default.cpp
> +++ b/test/camera/configuration_default.cpp
> @@ -18,7 +18,7 @@ class ConfigurationDefault : public CameraTest, public Test
>  {
>  public:
>  	ConfigurationDefault()
> -		: CameraTest("VIMC Sensor B")
> +		: CameraTest("platform:vimc Sensor B")
>  	{
>  	}
>
> diff --git a/test/camera/configuration_set.cpp b/test/camera/configuration_set.cpp
> index b4b5968115e81f59..b1fa8fea2edd7683 100644
> --- a/test/camera/configuration_set.cpp
> +++ b/test/camera/configuration_set.cpp
> @@ -18,7 +18,7 @@ class ConfigurationSet : public CameraTest, public Test
>  {
>  public:
>  	ConfigurationSet()
> -		: CameraTest("VIMC Sensor B")
> +		: CameraTest("platform:vimc Sensor B")
>  	{
>  	}
>
> diff --git a/test/camera/statemachine.cpp b/test/camera/statemachine.cpp
> index 325b4674bcc958d8..0e7c43dd84399a5a 100644
> --- a/test/camera/statemachine.cpp
> +++ b/test/camera/statemachine.cpp
> @@ -18,7 +18,7 @@ class Statemachine : public CameraTest, public Test
>  {
>  public:
>  	Statemachine()
> -		: CameraTest("VIMC Sensor B")
> +		: CameraTest("platform:vimc Sensor B")
>  	{
>  	}
>
> diff --git a/test/controls/control_info_map.cpp b/test/controls/control_info_map.cpp
> index e4305f132db7952f..72987646a63dab6b 100644
> --- a/test/controls/control_info_map.cpp
> +++ b/test/controls/control_info_map.cpp
> @@ -24,7 +24,7 @@ class ControlInfoMapTest : public CameraTest, public Test
>  {
>  public:
>  	ControlInfoMapTest()
> -		: CameraTest("VIMC Sensor B")
> +		: CameraTest("platform:vimc Sensor B")
>  	{
>  	}
>
> diff --git a/test/controls/control_list.cpp b/test/controls/control_list.cpp
> index 5c8485b5dcc31499..9a0fe53c022246f1 100644
> --- a/test/controls/control_list.cpp
> +++ b/test/controls/control_list.cpp
> @@ -24,7 +24,7 @@ class ControlListTest : public CameraTest, public Test
>  {
>  public:
>  	ControlListTest()
> -		: CameraTest("VIMC Sensor B")
> +		: CameraTest("platform:vimc Sensor B")
>  	{
>  	}
>
> diff --git a/test/serialization/serialization_test.h b/test/serialization/serialization_test.h
> index fe77221ef5d07478..5d4a6cd80a6e2208 100644
> --- a/test/serialization/serialization_test.h
> +++ b/test/serialization/serialization_test.h
> @@ -20,7 +20,7 @@ class SerializationTest : public CameraTest, public Test
>  {
>  public:
>  	SerializationTest()
> -		: CameraTest("VIMC Sensor B")
> +		: CameraTest("platform:vimc Sensor B")
>  	{
>  	}
>
> --
> 2.28.0
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel


More information about the libcamera-devel mailing list