static int isp_video_reqbufs(struct file *file, void *priv, struct v4l2_requestbuffers *rb) { struct fimc_isp *isp = video_drvdata(file); int ret; ret = vb2_ioctl_reqbufs(file, priv, rb); if (ret < 0) return ret; if (rb->count && rb->count < FIMC_ISP_REQ_BUFS_MIN) { rb->count = 0; vb2_ioctl_reqbufs(file, priv, rb); ret = -ENOMEM; } isp->video_capture.reqbufs_count = rb->count; return ret; }
static int fimc_lite_reqbufs(struct file *file, void *priv, struct v4l2_requestbuffers *reqbufs) { struct fimc_lite *fimc = video_drvdata(file); int ret; reqbufs->count = max_t(u32, FLITE_REQ_BUFS_MIN, reqbufs->count); ret = vb2_ioctl_reqbufs(file, priv, reqbufs); if (!ret) fimc->reqbufs_count = reqbufs->count; return ret; }