bool is_rx = vdev->vfl_dir != VFL_DIR_TX;
        bool is_tx = vdev->vfl_dir != VFL_DIR_RX;
        bool is_io_mc = vdev->device_caps & V4L2_CAP_IO_MC;
+       bool has_streaming = vdev->device_caps & V4L2_CAP_STREAMING;
 
        bitmap_zero(valid_ioctls, BASE_VIDIOC_PRIVATE);
 
                SET_VALID_IOCTL(ops, VIDIOC_TRY_FMT, vidioc_try_fmt_sdr_out);
        }
 
-       if (is_vid || is_vbi || is_sdr || is_tch || is_meta) {
-               /* ioctls valid for video, vbi, sdr, touch and metadata */
+       if (has_streaming) {
+               /* ioctls valid for streaming I/O */
                SET_VALID_IOCTL(ops, VIDIOC_REQBUFS, vidioc_reqbufs);
                SET_VALID_IOCTL(ops, VIDIOC_QUERYBUF, vidioc_querybuf);
                SET_VALID_IOCTL(ops, VIDIOC_QBUF, vidioc_qbuf);