Message ID | 20240604051120.9441-1-nas.chung@chipsnmedia.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v3,1/3] media: uapi: v4l: Change V4L2_TYPE_IS_CAPTURE condition | expand |
Hi, Hans. Gentle ping on this patch series. To recap, the previous feedback included - Adding a comment after "V4L2_BUF_TYPE_META_OUTPUT = 14," - Fixing a build warning in the venus/vdec.c code - Removing V4L2_BUF_TYPE_VIDEO_OVERLAY in V4L2_TYPE_IS_OUTPUT() I have addressed these points in the latest version of the patch series. Thanks. Nas. >-----Original Message----- >From: Nas Chung <nas.chung@chipsnmedia.com> >Sent: Tuesday, June 4, 2024 2:11 PM >To: mchehab@kernel.org; hverkuil@xs4all.nl; bryan.odonoghue@linaro.org; >linux-media@vger.kernel.org >Cc: linux-kernel@vger.kernel.org; Nas Chung <nas.chung@chipsnmedia.com>; >Michael Tretter <m.tretter@pengutronix.de> >Subject: [PATCH v3 1/3] media: uapi: v4l: Change V4L2_TYPE_IS_CAPTURE >condition > >Explicitly compare a buffer type only with valid buffer types, >to avoid matching a buffer type outside of the valid buffer type set. > >Signed-off-by: Nas Chung <nas.chung@chipsnmedia.com> >Reviewed-by: Michael Tretter <m.tretter@pengutronix.de> >--- >v3 >- Address Han's feedback > >v2 >- Improve commit message >- Add V4L2_TYPE_IS_VALID(type) macro > > include/uapi/linux/videodev2.h | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > >diff --git a/include/uapi/linux/videodev2.h >b/include/uapi/linux/videodev2.h >index fe6b67e83751..51da63173a98 100644 >--- a/include/uapi/linux/videodev2.h >+++ b/include/uapi/linux/videodev2.h >@@ -153,10 +153,17 @@ enum v4l2_buf_type { > V4L2_BUF_TYPE_SDR_OUTPUT = 12, > V4L2_BUF_TYPE_META_CAPTURE = 13, > V4L2_BUF_TYPE_META_OUTPUT = 14, >+ /* V4L2_TYPE_IS_VALID and V4L2_TYPE_IS_OUTPUT must >+ * be updated if a new type is added. >+ */ > /* Deprecated, do not use */ > V4L2_BUF_TYPE_PRIVATE = 0x80, > }; > >+#define V4L2_TYPE_IS_VALID(type) \ >+ ((type) >= V4L2_BUF_TYPE_VIDEO_CAPTURE \ >+ && (type) <= V4L2_BUF_TYPE_META_OUTPUT) >+ > #define V4L2_TYPE_IS_MULTIPLANAR(type) \ > ((type) == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE \ > || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) >@@ -171,7 +178,8 @@ enum v4l2_buf_type { > || (type) == V4L2_BUF_TYPE_SDR_OUTPUT \ > || (type) == V4L2_BUF_TYPE_META_OUTPUT) > >-#define V4L2_TYPE_IS_CAPTURE(type) (!V4L2_TYPE_IS_OUTPUT(type)) >+#define V4L2_TYPE_IS_CAPTURE(type) \ >+ (V4L2_TYPE_IS_VALID(type) && !V4L2_TYPE_IS_OUTPUT(type)) > > enum v4l2_tuner_type { > V4L2_TUNER_RADIO = 1, >-- >2.25.1
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index fe6b67e83751..51da63173a98 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -153,10 +153,17 @@ enum v4l2_buf_type { V4L2_BUF_TYPE_SDR_OUTPUT = 12, V4L2_BUF_TYPE_META_CAPTURE = 13, V4L2_BUF_TYPE_META_OUTPUT = 14, + /* V4L2_TYPE_IS_VALID and V4L2_TYPE_IS_OUTPUT must + * be updated if a new type is added. + */ /* Deprecated, do not use */ V4L2_BUF_TYPE_PRIVATE = 0x80, }; +#define V4L2_TYPE_IS_VALID(type) \ + ((type) >= V4L2_BUF_TYPE_VIDEO_CAPTURE \ + && (type) <= V4L2_BUF_TYPE_META_OUTPUT) + #define V4L2_TYPE_IS_MULTIPLANAR(type) \ ((type) == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE \ || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) @@ -171,7 +178,8 @@ enum v4l2_buf_type { || (type) == V4L2_BUF_TYPE_SDR_OUTPUT \ || (type) == V4L2_BUF_TYPE_META_OUTPUT) -#define V4L2_TYPE_IS_CAPTURE(type) (!V4L2_TYPE_IS_OUTPUT(type)) +#define V4L2_TYPE_IS_CAPTURE(type) \ + (V4L2_TYPE_IS_VALID(type) && !V4L2_TYPE_IS_OUTPUT(type)) enum v4l2_tuner_type { V4L2_TUNER_RADIO = 1,