[libcamera-devel,5/5] libcamera: ipu3: Register sensor controls
diff mbox series

Message ID 20201223184516.58791-6-jacopo@jmondi.org
State Superseded
Delegated to: Jacopo Mondi
Headers show
Series
  • libcamera: Register CameraSensor controls
Related show

Commit Message

Jacopo Mondi Dec. 23, 2020, 6:45 p.m. UTC
Register the sensor provided controls together with the pipeline
handler initialized controls.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Paul Elder Dec. 28, 2020, 8:29 a.m. UTC | #1
Hi Jacopo,

On Wed, Dec 23, 2020 at 07:45:16PM +0100, Jacopo Mondi wrote:
> Register the sensor provided controls together with the pipeline
> handler initialized controls.
> 
> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>

> ---
>  src/libcamera/pipeline/ipu3/ipu3.cpp | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index 8a1918d5e4c5..fc5590aaf5a0 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -777,7 +777,12 @@ int PipelineHandlerIPU3::registerCameras()
>  		data->properties_ = cio2->sensor()->properties();
>  
>  		/* Initialze the camera controls. */
> -		data->controlInfo_ = IPU3Controls;
> +		ControlInfoMap::Map controlsMap;
> +		for (const auto &it : IPU3Controls)
> +			controlsMap[it.first] = it.second;
> +		for (const auto &it : cio2->sensor()->controls())
> +			controlsMap[it.first] = it.second;
> +		data->controlInfo_ = std::move(controlsMap);
>  
>  		/**
>  		 * \todo Dynamically assign ImgU and output devices to each
> -- 
> 2.29.2
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

Patch
diff mbox series

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 8a1918d5e4c5..fc5590aaf5a0 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -777,7 +777,12 @@  int PipelineHandlerIPU3::registerCameras()
 		data->properties_ = cio2->sensor()->properties();
 
 		/* Initialze the camera controls. */
-		data->controlInfo_ = IPU3Controls;
+		ControlInfoMap::Map controlsMap;
+		for (const auto &it : IPU3Controls)
+			controlsMap[it.first] = it.second;
+		for (const auto &it : cio2->sensor()->controls())
+			controlsMap[it.first] = it.second;
+		data->controlInfo_ = std::move(controlsMap);
 
 		/**
 		 * \todo Dynamically assign ImgU and output devices to each