[libcamera-devel] [PATCH v6 4/5] libcamera: pipeline_handler: uvcvideo: register all Cameras along with a devnum
Paul Elder
paul.elder at ideasonboard.com
Sat Jan 4 01:14:12 CET 2020
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 <paul.elder at ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
---
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 <algorithm>
#include <iomanip>
+#include <sys/sysmacros.h>
#include <tuple>
#include <libcamera/camera.h>
@@ -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<Stream *> streams{ &data->stream_ };
std::shared_ptr<Camera> 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);
--
2.24.1
More information about the libcamera-devel
mailing list