Message ID | 20250724065256.75175-9-dan.scally@ideasonboard.com |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
Quoting Daniel Scally (2025-07-24 07:52:54) > The MaliC55CameraData class takes a MediaEntity in its constructor. > When we support the memory input mode we won't have that when we > want to construct the class, so move the parameter to the init() > function instead. > > Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> > --- > src/libcamera/pipeline/mali-c55/mali-c55.cpp | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/src/libcamera/pipeline/mali-c55/mali-c55.cpp b/src/libcamera/pipeline/mali-c55/mali-c55.cpp > index 25540ba1..5944823d 100644 > --- a/src/libcamera/pipeline/mali-c55/mali-c55.cpp > +++ b/src/libcamera/pipeline/mali-c55/mali-c55.cpp > @@ -92,12 +92,12 @@ struct MaliC55FrameInfo { > class MaliC55CameraData : public Camera::Private > { > public: > - MaliC55CameraData(PipelineHandler *pipe, MediaEntity *entity) > - : Camera::Private(pipe), entity_(entity) > + MaliC55CameraData(PipelineHandler *pipe) > + : Camera::Private(pipe) > { > } > > - int init(); > + int init(MediaEntity *entity); What is the entity? Can we name it better? Is it an entity for the Mali-C55? or the Sensor? Or something else? (Yes, it was already called entity so this as a code move is fine - perhaps separate out the rename) > int loadIPA(); > > /* Deflect these functionalities to either TPG or CameraSensor. */ > @@ -134,10 +134,12 @@ private: > Size tpgResolution_; > }; > > -int MaliC55CameraData::init() > +int MaliC55CameraData::init(MediaEntity *entity) > { > int ret; > > + entity_ = entity; > + > sd_ = std::make_unique<V4L2Subdevice>(entity_); > ret = sd_->open(); > if (ret) { > @@ -1567,9 +1569,9 @@ bool PipelineHandlerMaliC55::registerTPGCamera(MediaLink *link) > } > > std::unique_ptr<MaliC55CameraData> data = > - std::make_unique<MaliC55CameraData>(this, link->source()->entity()); > + std::make_unique<MaliC55CameraData>(this); > > - if (data->init()) > + if (data->init(link->source()->entity())) Perhaps the entity should be called it's 'source' ? > return false; > > return registerMaliCamera(std::move(data), name); > @@ -1594,8 +1596,8 @@ bool PipelineHandlerMaliC55::registerSensorCamera(MediaLink *ispLink) > continue; > > std::unique_ptr<MaliC55CameraData> data = > - std::make_unique<MaliC55CameraData>(this, sensor); > - if (data->init()) > + std::make_unique<MaliC55CameraData>(this); > + if (data->init(sensor)) > return false; > > data->properties_ = data->sensor_->properties(); > -- > 2.30.2 >
diff --git a/src/libcamera/pipeline/mali-c55/mali-c55.cpp b/src/libcamera/pipeline/mali-c55/mali-c55.cpp index 25540ba1..5944823d 100644 --- a/src/libcamera/pipeline/mali-c55/mali-c55.cpp +++ b/src/libcamera/pipeline/mali-c55/mali-c55.cpp @@ -92,12 +92,12 @@ struct MaliC55FrameInfo { class MaliC55CameraData : public Camera::Private { public: - MaliC55CameraData(PipelineHandler *pipe, MediaEntity *entity) - : Camera::Private(pipe), entity_(entity) + MaliC55CameraData(PipelineHandler *pipe) + : Camera::Private(pipe) { } - int init(); + int init(MediaEntity *entity); int loadIPA(); /* Deflect these functionalities to either TPG or CameraSensor. */ @@ -134,10 +134,12 @@ private: Size tpgResolution_; }; -int MaliC55CameraData::init() +int MaliC55CameraData::init(MediaEntity *entity) { int ret; + entity_ = entity; + sd_ = std::make_unique<V4L2Subdevice>(entity_); ret = sd_->open(); if (ret) { @@ -1567,9 +1569,9 @@ bool PipelineHandlerMaliC55::registerTPGCamera(MediaLink *link) } std::unique_ptr<MaliC55CameraData> data = - std::make_unique<MaliC55CameraData>(this, link->source()->entity()); + std::make_unique<MaliC55CameraData>(this); - if (data->init()) + if (data->init(link->source()->entity())) return false; return registerMaliCamera(std::move(data), name); @@ -1594,8 +1596,8 @@ bool PipelineHandlerMaliC55::registerSensorCamera(MediaLink *ispLink) continue; std::unique_ptr<MaliC55CameraData> data = - std::make_unique<MaliC55CameraData>(this, sensor); - if (data->init()) + std::make_unique<MaliC55CameraData>(this); + if (data->init(sensor)) return false; data->properties_ = data->sensor_->properties();
The MaliC55CameraData class takes a MediaEntity in its constructor. When we support the memory input mode we won't have that when we want to construct the class, so move the parameter to the init() function instead. Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> --- src/libcamera/pipeline/mali-c55/mali-c55.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-)