On Wed, Nov 17, 2021 at 10:07 PM Dafna Hirschfeld <dafna.hirschfeld@xxxxxxxxxxxxx> wrote: > > The function mtk_venc_get_q_data always returns a reference > so there is no need to check if the return value is null. > In addition move the q_data initialization to the declaration > > Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@xxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxxxx> > --- > .../platform/mtk-vcodec/mtk_vcodec_enc.c | 39 ++++--------------- > 1 file changed, 7 insertions(+), 32 deletions(-) > > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > index be28f2401839..5caaeb4773ca 100644 > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > @@ -399,7 +399,7 @@ static int vidioc_venc_s_fmt_cap(struct file *file, void *priv, > struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv); > const struct mtk_vcodec_enc_pdata *pdata = ctx->dev->venc_pdata; > struct vb2_queue *vq; > - struct mtk_q_data *q_data; > + struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, f->type); > int i, ret; > const struct mtk_video_fmt *fmt; > > @@ -414,12 +414,6 @@ static int vidioc_venc_s_fmt_cap(struct file *file, void *priv, > return -EBUSY; > } > > - q_data = mtk_venc_get_q_data(ctx, f->type); > - if (!q_data) { > - mtk_v4l2_err("fail to get q data"); > - return -EINVAL; > - } > - > fmt = mtk_venc_find_format(f->fmt.pix.pixelformat, pdata); > if (!fmt) { > fmt = &ctx->dev->venc_pdata->capture_formats[0]; > @@ -460,7 +454,7 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv, > struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv); > const struct mtk_vcodec_enc_pdata *pdata = ctx->dev->venc_pdata; > struct vb2_queue *vq; > - struct mtk_q_data *q_data; > + struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, f->type); > int ret, i; > const struct mtk_video_fmt *fmt; > > @@ -475,12 +469,6 @@ static int vidioc_venc_s_fmt_out(struct file *file, void *priv, > return -EBUSY; > } > > - q_data = mtk_venc_get_q_data(ctx, f->type); > - if (!q_data) { > - mtk_v4l2_err("fail to get q data"); > - return -EINVAL; > - } > - > fmt = mtk_venc_find_format(f->fmt.pix.pixelformat, pdata); > if (!fmt) { > fmt = &ctx->dev->venc_pdata->output_formats[0]; > @@ -520,14 +508,13 @@ static int vidioc_venc_g_fmt(struct file *file, void *priv, > struct v4l2_pix_format_mplane *pix = &f->fmt.pix_mp; > struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv); > struct vb2_queue *vq; > - struct mtk_q_data *q_data; > + struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, f->type); > int i; > > vq = v4l2_m2m_get_vq(ctx->m2m_ctx, f->type); > if (!vq) > return -EINVAL; > > - q_data = mtk_venc_get_q_data(ctx, f->type); > > pix->width = q_data->coded_width; > pix->height = q_data->coded_height; > @@ -596,15 +583,11 @@ static int vidioc_venc_g_selection(struct file *file, void *priv, > struct v4l2_selection *s) > { > struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv); > - struct mtk_q_data *q_data; > + struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, s->type); > > if (s->type != V4L2_BUF_TYPE_VIDEO_OUTPUT) > return -EINVAL; > > - q_data = mtk_venc_get_q_data(ctx, s->type); > - if (!q_data) > - return -EINVAL; > - > switch (s->target) { > case V4L2_SEL_TGT_CROP_DEFAULT: > case V4L2_SEL_TGT_CROP_BOUNDS: > @@ -630,15 +613,11 @@ static int vidioc_venc_s_selection(struct file *file, void *priv, > struct v4l2_selection *s) > { > struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv); > - struct mtk_q_data *q_data; > + struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, s->type); > > if (s->type != V4L2_BUF_TYPE_VIDEO_OUTPUT) > return -EINVAL; > > - q_data = mtk_venc_get_q_data(ctx, s->type); > - if (!q_data) > - return -EINVAL; > - > switch (s->target) { > case V4L2_SEL_TGT_CROP: > /* Only support crop from (0,0) */ > @@ -805,11 +784,9 @@ static int vb2ops_venc_queue_setup(struct vb2_queue *vq, > struct device *alloc_devs[]) > { > struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(vq); > - struct mtk_q_data *q_data; > + struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, vq->type); > unsigned int i; > > - q_data = mtk_venc_get_q_data(ctx, vq->type); > - > if (q_data == NULL) > return -EINVAL; > > @@ -829,11 +806,9 @@ static int vb2ops_venc_queue_setup(struct vb2_queue *vq, > static int vb2ops_venc_buf_prepare(struct vb2_buffer *vb) > { > struct mtk_vcodec_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue); > - struct mtk_q_data *q_data; > + struct mtk_q_data *q_data = mtk_venc_get_q_data(ctx, vb->vb2_queue->type); > int i; > > - q_data = mtk_venc_get_q_data(ctx, vb->vb2_queue->type); > - > for (i = 0; i < q_data->fmt->num_planes; i++) { > if (vb2_plane_size(vb, i) < q_data->sizeimage[i]) { > mtk_v4l2_err("data will not fit into plane %d (%lu < %d)", > -- > 2.17.1 >