*video_dev = zoran_template;
        video_dev->v4l2_dev = &zr->v4l2_dev;
        video_dev->lock = &zr->lock;
-       video_dev->device_caps = V4L2_CAP_STREAMING | V4L2_CAP_READWRITE | dir;
+       video_dev->device_caps = V4L2_CAP_STREAMING | dir;
 
        strscpy(video_dev->name, ZR_DEVNAME(zr), sizeof(video_dev->name));
        /*
 
        return res;
 }
 
-static int zoran_g_parm(struct file *file, void *priv, struct v4l2_streamparm *parm)
-{
-       if (parm->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
-               return -EINVAL;
-
-       parm->parm.capture.readbuffers = 9;
-       return 0;
-}
-
 /*
  * Output is disabled temporarily
  * Zoran is picky about jpeg data it accepts. At least it seems to unsupport COM and APPn.
  */
 static const struct v4l2_ioctl_ops zoran_ioctl_ops = {
        .vidioc_querycap                    = zoran_querycap,
-       .vidioc_g_parm                      = zoran_g_parm,
        .vidioc_s_selection                 = zoran_s_selection,
        .vidioc_g_selection                 = zoran_g_selection,
        .vidioc_enum_input                  = zoran_enum_input,
        .unlocked_ioctl = video_ioctl2,
        .open           = v4l2_fh_open,
        .release        = vb2_fop_release,
-       .read           = vb2_fop_read,
-       .write          = vb2_fop_write,
        .mmap           = vb2_fop_mmap,
        .poll           = vb2_fop_poll,
 };