57 lines
2.4 KiB
Diff
57 lines
2.4 KiB
Diff
|
|
From b89a69dec27cf638df0e17db80ed937c3e1abf77 Mon Sep 17 00:00:00 2001
|
||
|
|
From: "Dmitry V. Levin" <ldv@altlinux.org>
|
||
|
|
Date: Sat, 18 Aug 2018 07:22:47 +0000
|
||
|
|
Subject: [PATCH 002/293] xlat: workaround V4L2_CID_USER_IMX_BASE Linux kernel
|
||
|
|
ABI breakage
|
||
|
|
|
||
|
|
Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48
|
||
|
|
has changed the value of V4L2_CID_USER_IMX_BASE constant introduced
|
||
|
|
by commit v4.13-rc1~141^2~121 because the old value was already used
|
||
|
|
by V4L2_CID_USER_MAX217X_BASE.
|
||
|
|
|
||
|
|
This is of course an ABI breakage that affects Linux kernels starting
|
||
|
|
with 4.13 and up to 4.18, as well as their LTS derivatives.
|
||
|
|
|
||
|
|
Since the imx driver didn't provide any public control ID definitions,
|
||
|
|
it looks like the best way to handle this situation is to pretend that
|
||
|
|
the old value of V4L2_CID_USER_IMX_BASE didn't exist.
|
||
|
|
|
||
|
|
* xlat/v4l2_control_id_bases.in (V4L2_CID_USER_IMX_BASE): Redefine.
|
||
|
|
|
||
|
|
Co-Authored-by: Eugene Syromyatnikov <evgsyr@gmail.com>
|
||
|
|
---
|
||
|
|
xlat/v4l2_control_id_bases.in | 17 ++++++++++++++++-
|
||
|
|
1 file changed, 16 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/xlat/v4l2_control_id_bases.in b/xlat/v4l2_control_id_bases.in
|
||
|
|
index a0359be..f3fd925 100644
|
||
|
|
--- a/xlat/v4l2_control_id_bases.in
|
||
|
|
+++ b/xlat/v4l2_control_id_bases.in
|
||
|
|
@@ -2,7 +2,22 @@ V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900)
|
||
|
|
V4L2_CID_USER_MEYE_BASE (V4L2_CID_BASE + 0x1000)
|
||
|
|
V4L2_CID_USER_BTTV_BASE (V4L2_CID_BASE + 0x1010)
|
||
|
|
V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050)
|
||
|
|
-V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090)
|
||
|
|
+#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
|
||
|
|
+# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
|
||
|
|
+/*
|
||
|
|
+ * Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48
|
||
|
|
+ * has changed the value of V4L2_CID_USER_IMX_BASE constant introduced
|
||
|
|
+ * by commit v4.13-rc1~141^2~121 because the old value was already used
|
||
|
|
+ * by V4L2_CID_USER_MAX217X_BASE.
|
||
|
|
+ * This is of course an ABI breakage that affects Linux kernels starting
|
||
|
|
+ * with 4.13 and up to 4.18, as well as their LTS derivatives.
|
||
|
|
+ * Since the imx driver didn't provide any public control ID definitions,
|
||
|
|
+ * it looks like the best way to handle this situation is to pretend that
|
||
|
|
+ * the old value of V4L2_CID_USER_IMX_BASE didn't exist.
|
||
|
|
+ */
|
||
|
|
+# undef V4L2_CID_USER_IMX_BASE
|
||
|
|
+#endif
|
||
|
|
+V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0)
|
||
|
|
V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
|
||
|
|
V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)
|
||
|
|
V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100)
|
||
|
|
--
|
||
|
|
1.7.12.4
|
||
|
|
|