|
@@ -0,0 +1,44 @@
|
|
|
+From 09b536e0b9d0964674936901ab9d2954f935c8b4 Mon Sep 17 00:00:00 2001
|
|
|
+From: Stefan Ott <stefan@ott.net>
|
|
|
+Date: Wed, 5 Apr 2023 18:20:37 +0200
|
|
|
+Subject: [PATCH] Fix compile-time issue on very old kernels
|
|
|
+
|
|
|
+Kernel versions prior to 3.4 did not have V4L2_CAP_DEVICE_CAPS and
|
|
|
+compiling against such a kernel will fail.
|
|
|
+
|
|
|
+This patch introduces a version check and makes eudev fall back to
|
|
|
+v2cap.capabilities on these kernels.
|
|
|
+
|
|
|
+Upstream: https://github.com/eudev-project/eudev/commit/09b536e0b9d0964674936901ab9d2954f935c8b4
|
|
|
+Signed-off-by: Stefan Ott <stefan@ott.net>
|
|
|
+---
|
|
|
+ src/v4l_id/v4l_id.c | 3 +++
|
|
|
+ 1 file changed, 3 insertions(+)
|
|
|
+
|
|
|
+diff --git a/src/v4l_id/v4l_id.c b/src/v4l_id/v4l_id.c
|
|
|
+index 6bf45effe..702d5b687 100644
|
|
|
+--- a/src/v4l_id/v4l_id.c
|
|
|
++++ b/src/v4l_id/v4l_id.c
|
|
|
+@@ -28,6 +28,7 @@
|
|
|
+ #include <sys/types.h>
|
|
|
+ #include <sys/time.h>
|
|
|
+ #include <sys/ioctl.h>
|
|
|
++#include <linux/version.h>
|
|
|
+ #include <linux/videodev2.h>
|
|
|
+
|
|
|
+ #include "util.h"
|
|
|
+@@ -71,9 +72,11 @@ int main(int argc, char *argv[]) {
|
|
|
+ printf("ID_V4L_VERSION=2\n");
|
|
|
+ printf("ID_V4L_PRODUCT=%s\n", v2cap.card);
|
|
|
+ printf("ID_V4L_CAPABILITIES=:");
|
|
|
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
|
|
|
+ if (v2cap.capabilities & V4L2_CAP_DEVICE_CAPS)
|
|
|
+ capabilities = v2cap.device_caps;
|
|
|
+ else
|
|
|
++#endif
|
|
|
+ capabilities = v2cap.capabilities;
|
|
|
+ if ((capabilities & V4L2_CAP_VIDEO_CAPTURE) > 0 ||
|
|
|
+ (capabilities & V4L2_CAP_VIDEO_CAPTURE_MPLANE) > 0)
|
|
|
+--
|
|
|
+2.40.0
|
|
|
+
|