From patchwork Sat May 2 13:53:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 3667 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 79D6A61632 for ; Sat, 2 May 2020 15:54:03 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="RCqPYELr"; dkim-atps=neutral Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id A54CD521 for ; Sat, 2 May 2020 15:54:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1588427642; bh=FmAEuxMTptQY2dFF+o4azp4/AAyMQKLRr1GghYzWMS8=; h=From:To:Subject:Date:In-Reply-To:References:From; b=RCqPYELrATOufehlpqEHt9tlN8r6hag64QiwDWT9PdFFQIJdekzN+QjHpPwwpE05K +pfjZENHXJZ+CLe1tWChF2EWbcR+E4nh/lFdlFzof75qaSSKIEq/VIb+2RMIMf0fTL 8nX7OlN8orDYr3/3Fx1+0AvA6GYAvp1LEfNKAoq4= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Date: Sat, 2 May 2020 16:53:54 +0300 Message-Id: <20200502135355.22757-3-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200502135355.22757-1-laurent.pinchart@ideasonboard.com> References: <20200502135355.22757-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 2/3] libcamera: camera_sensor: Store subdevice in std::unique_ptr X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 May 2020 13:54:03 -0000 Avoid the need for a manual delete in the destructor by using a unique pointer. Signed-off-by: Laurent Pinchart Reviewed-by: Niklas Söderlund --- src/libcamera/camera_sensor.cpp | 5 ++--- src/libcamera/include/camera_sensor.h | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp index ab2bed561cc6..9cfb3847dda6 100644 --- a/src/libcamera/camera_sensor.cpp +++ b/src/libcamera/camera_sensor.cpp @@ -133,7 +133,6 @@ LOG_DEFINE_CATEGORY(CameraSensor); CameraSensor::CameraSensor(const MediaEntity *entity) : entity_(entity), properties_(properties::properties) { - subdev_ = new V4L2Subdevice(entity); } /** @@ -141,7 +140,6 @@ CameraSensor::CameraSensor(const MediaEntity *entity) */ CameraSensor::~CameraSensor() { - delete subdev_; } /** @@ -197,7 +195,8 @@ int CameraSensor::init() else model_ = entityName; - /* Open the subdev. */ + /* Create and open the subdev. */ + subdev_ = std::make_unique(entity_); ret = subdev_->open(); if (ret < 0) return ret; diff --git a/src/libcamera/include/camera_sensor.h b/src/libcamera/include/camera_sensor.h index f39ea96dc77a..92cd90353e72 100644 --- a/src/libcamera/include/camera_sensor.h +++ b/src/libcamera/include/camera_sensor.h @@ -7,6 +7,7 @@ #ifndef __LIBCAMERA_CAMERA_SENSOR_H__ #define __LIBCAMERA_CAMERA_SENSOR_H__ +#include #include #include @@ -68,7 +69,7 @@ protected: private: const MediaEntity *entity_; - V4L2Subdevice *subdev_; + std::unique_ptr subdev_; std::string model_; std::vector mbusCodes_;