Hi, Michael. Thank you for the feedback. >-----Original Message----- >From: Michael Tretter <m.tretter@xxxxxxxxxxxxxx> >Sent: Wednesday, May 22, 2024 4:55 PM >To: Nas Chung <nas.chung@xxxxxxxxxxxxxxx> >Cc: mchehab@xxxxxxxxxx; linux-media@xxxxxxxxxxxxxxx; linux- >kernel@xxxxxxxxxxxxxxx; Sebastian Fricke <sebastian.fricke@xxxxxxxxxxxxx> >Subject: Re: [PATCH] media: uapi: v4l: Change V4L2_TYPE_IS_CAPTURE >condition > >On Fri, 17 May 2024 18:49:40 +0900, Nas Chung wrote: >> We expect V4L2_TYPE_IS_CAPTURE() macro allow only CAPTURE type. >> But, Inverting OUTPUT type can allow undefined v4l2_buf_type. >> Check CAPTURE type directly instead of inverting OUTPUT type. >> >> Signed-off-by: Nas Chung <nas.chung@xxxxxxxxxxxxxxx> >> --- >> include/uapi/linux/videodev2.h | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/include/uapi/linux/videodev2.h >b/include/uapi/linux/videodev2.h >> index fe6b67e83751..32b10e2b7695 100644 >> --- a/include/uapi/linux/videodev2.h >> +++ b/include/uapi/linux/videodev2.h >> @@ -171,7 +171,13 @@ 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) \ >> + ((type) == V4L2_BUF_TYPE_VIDEO_CAPTURE \ >> + || (type) == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE \ >> + || (type) == V4L2_BUF_TYPE_VBI_CAPTURE \ >> + || (type) == V4L2_BUF_TYPE_SLICED_VBI_CAPTURE \ >> + || (type) == V4L2_BUF_TYPE_SDR_CAPTURE \ >> + || (type) == V4L2_BUF_TYPE_META_CAPTURE) > >Maybe adding a V4L2_TYPE_IS_VALID(type) macro would be helpful to define >TYPE_IS_CAPTURE as all valid types that are not OUTPUT: > > #define V4L2_TYPE_IS_VALID(type) \ > ((type) >= V4L2_BUF_TYPE_VIDEO_CAPTURE \ > && (type) <= V4L2_BUF_TYPE_META_OUTPUT) > > #define V4L2_TYPE_IS_CAPTURE(type) \ > (V4L2_TYPE_IS_VALID(type) && !V4L2_TYPE_IS_OUTPUT(type)) > >This would avoid keeping the two explicit lists of OUTPUT and CAPTURE >types. I agree that it's better to add a V4L2_TYPE_IS_VALID(type) macro. I will address this in V2. Thanks. Nas. > >Michael > >> >> enum v4l2_tuner_type { >> V4L2_TUNER_RADIO = 1, >> -- >> 2.25.1 >> >> >>