diff options
-rw-r--r-- | xlat/v4l2_control_id_bases.in | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/xlat/v4l2_control_id_bases.in b/xlat/v4l2_control_id_bases.in index a0359be9..f3fd9255 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) |