[libcamera-devel,v2,1/2] pipeline: raspberrypi: Split out device enumeration and camera registration
diff mbox series

Message ID 20211122123427.808484-2-naush@raspberrypi.com
State Superseded
Headers show
Series
  • Raspberry Pi: Multi-camera changes
Related show

Commit Message

Naushir Patuck Nov. 22, 2021, 12:34 p.m. UTC
Split out PipelineHandlerRPi::match() so that media device enumeration and
acquisition is separated from camera registration. The former logic remains
in PipelineHandlerRPi::match(), whereas the latter logic is moved into a new
PipelineHandlerRPi::registerCameras() member function.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

Patch
diff mbox series

diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
index 4f6c699a4379..9aa7e9eef5e7 100644
--- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
+++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
@@ -311,6 +311,7 @@  private:
 		return static_cast<RPiCameraData *>(camera->_d());
 	}
 
+	bool registerCameras();
 	int queueAllBuffers(Camera *camera);
 	int prepareBuffers(Camera *camera);
 	void freeBuffers(Camera *camera);
@@ -1010,6 +1011,11 @@  bool PipelineHandlerRPi::match(DeviceEnumerator *enumerator)
 	if (!isp_)
 		return false;
 
+	return registerCameras();
+}
+
+bool PipelineHandlerRPi::registerCameras()
+{
 	std::unique_ptr<RPiCameraData> data = std::make_unique<RPiCameraData>(this);
 	if (!data->dmaHeap_.isValid())
 		return false;