static inline bool v4l2_is_colorspace_valid(__u32 colorspace)
 {
        return colorspace > V4L2_COLORSPACE_DEFAULT &&
-              colorspace <= V4L2_COLORSPACE_DCI_P3;
+              colorspace < V4L2_COLORSPACE_LAST;
 }
 
 static inline bool v4l2_is_xfer_func_valid(__u32 xfer_func)
 {
        return xfer_func > V4L2_XFER_FUNC_DEFAULT &&
-              xfer_func <= V4L2_XFER_FUNC_SMPTE2084;
+              xfer_func < V4L2_XFER_FUNC_LAST;
 }
 
 static inline bool v4l2_is_ycbcr_enc_valid(__u8 ycbcr_enc)
 {
        return ycbcr_enc > V4L2_YCBCR_ENC_DEFAULT &&
-              ycbcr_enc <= V4L2_YCBCR_ENC_SMPTE240M;
+              ycbcr_enc < V4L2_YCBCR_ENC_LAST;
 }
 
 static inline bool v4l2_is_hsv_enc_valid(__u8 hsv_enc)
 
 
        /* DCI-P3 colorspace, used by cinema projectors */
        V4L2_COLORSPACE_DCI_P3        = 12,
+
+#ifdef __KERNEL__
+       /*
+        * Largest supported colorspace value, assigned by the compiler, used
+        * by the framework to check for invalid values.
+        */
+       V4L2_COLORSPACE_LAST,
+#endif
 };
 
 /*
        V4L2_XFER_FUNC_NONE        = 5,
        V4L2_XFER_FUNC_DCI_P3      = 6,
        V4L2_XFER_FUNC_SMPTE2084   = 7,
+#ifdef __KERNEL__
+       /*
+        * Largest supported transfer function value, assigned by the compiler,
+        * used by the framework to check for invalid values.
+        */
+       V4L2_XFER_FUNC_LAST,
+#endif
 };
 
 /*
 
        /* SMPTE 240M -- Obsolete HDTV */
        V4L2_YCBCR_ENC_SMPTE240M      = 8,
+#ifdef __KERNEL__
+       /*
+        * Largest supported encoding value, assigned by the compiler, used by
+        * the framework to check for invalid values.
+        */
+       V4L2_YCBCR_ENC_LAST,
+#endif
 };
 
 /*