[libcamera-devel] [PATCH v5 1/2] pipeline: rkisp1: Share the ISP subdevice

Sebastian Fricke sebastian.fricke at posteo.net
Sat Feb 27 19:01:25 CET 2021


Share the ISP subdevice between the RkISP1CameraData and the
PipelineHandlerRkISP1 class. This enables other classes like
RkISP1CameraConfiguration to get access to the device.

Signed-off-by: Sebastian Fricke <sebastian.fricke at posteo.net>
---
 src/libcamera/pipeline/rkisp1/rkisp1.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 538c0139..50eaa6a4 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -90,6 +90,7 @@ public:
 	Stream mainPathStream_;
 	Stream selfPathStream_;
 	std::unique_ptr<CameraSensor> sensor_;
+	std::shared_ptr<V4L2Subdevice> isp_;
 	std::unique_ptr<DelayedControls> delayedCtrls_;
 	unsigned int frame_;
 	std::vector<IPABuffer> ipaBuffers_;
@@ -172,7 +173,7 @@ private:
 	int freeBuffers(Camera *camera);
 
 	MediaDevice *media_;
-	std::unique_ptr<V4L2Subdevice> isp_;
+	std::shared_ptr<V4L2Subdevice> isp_;
 	std::unique_ptr<V4L2VideoDevice> param_;
 	std::unique_ptr<V4L2VideoDevice> stat_;
 
@@ -930,6 +931,8 @@ int PipelineHandlerRkISP1::createCamera(MediaEntity *sensor)
 	if (ret)
 		return ret;
 
+	data->isp_ = isp_;
+
 	/* Initialize the camera properties. */
 	data->properties_ = data->sensor_->properties();
 
-- 
2.25.1



More information about the libcamera-devel mailing list