From patchwork Sat Jan 4 00:14:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 2494 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id EEA14605DA for ; Sat, 4 Jan 2020 01:14:23 +0100 (CET) Received: from neptunite.amanokami.net (unknown [96.44.9.94]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 379B830F; Sat, 4 Jan 2020 01:14:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1578096863; bh=EuUij/mNWgXvN18diyrRfVUd9Q2QFz1/tGd4ergY5Lg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UQJ/d9msJry6s7PaLHwQYEwuBEO18YkiezJQNxfp70dQ6AM9qEwKmOv2ufXQ6Z87H W4EQJEdpa4wdQVAtn8tRtzRBDY3W9o/xyO9+mYwXAXFSi1fOHImFtYlN5VlmH8IO0M xT4YkEi4pyYgcrFdt8DDIDMofAlnNgLbEcyggsUg= From: Paul Elder To: libcamera-devel@lists.libcamera.org Date: Fri, 3 Jan 2020 19:14:12 -0500 Message-Id: <20200104001414.12755-5-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200104001414.12755-1-paul.elder@ideasonboard.com> References: <20200104001414.12755-1-paul.elder@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v6 4/5] libcamera: pipeline_handler: uvcvideo: register all Cameras along with a devnum 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, 04 Jan 2020 00:14:24 -0000 Register all UVC Cameras along with their device numbers, to eventually allow the V4L2 compatibility layer to match against it. Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart Reviewed-by: Jacopo Mondi --- Changes in v6: - cosmetic changes Changes in v5: - rebased on "libcamera: pipeline: uvcvideo: Fix crash when default entity is not found" No change in v4 New in v3 --- src/libcamera/pipeline/uvcvideo.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp index fcc1c011..ce38445d 100644 --- a/src/libcamera/pipeline/uvcvideo.cpp +++ b/src/libcamera/pipeline/uvcvideo.cpp @@ -7,6 +7,7 @@ #include #include +#include #include #include @@ -309,10 +310,12 @@ bool PipelineHandlerUVC::match(DeviceEnumerator *enumerator) if (data->init(*entity)) return false; + dev_t devnum = makedev((*entity)->deviceMajor(), (*entity)->deviceMinor()); + /* Create and register the camera. */ std::set streams{ &data->stream_ }; std::shared_ptr camera = Camera::create(this, media->model(), streams); - registerCamera(std::move(camera), std::move(data)); + registerCamera(std::move(camera), std::move(data), devnum); /* Enable hot-unplug notifications. */ hotplugMediaDevice(media);