diff options
Diffstat (limited to 'drivers/media/pci/cobalt/cobalt-v4l2.c')
-rw-r--r-- | drivers/media/pci/cobalt/cobalt-v4l2.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/drivers/media/pci/cobalt/cobalt-v4l2.c b/drivers/media/pci/cobalt/cobalt-v4l2.c index 0ff37496c9ab..4bfbcca14f60 100644 --- a/drivers/media/pci/cobalt/cobalt-v4l2.c +++ b/drivers/media/pci/cobalt/cobalt-v4l2.c @@ -708,7 +708,6 @@ static int cobalt_g_fmt_vid_cap(struct file *file, void *priv_fh, { struct cobalt_stream *s = video_drvdata(file); struct v4l2_pix_format *pix = &f->fmt.pix; - struct v4l2_subdev_format sd_fmt; pix->width = s->width; pix->height = s->height; @@ -718,8 +717,11 @@ static int cobalt_g_fmt_vid_cap(struct file *file, void *priv_fh, if (s->input == 1) { pix->colorspace = V4L2_COLORSPACE_SRGB; } else { - sd_fmt.pad = s->pad_source; - sd_fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE; + struct v4l2_subdev_format sd_fmt = { + .pad = s->pad_source, + .which = V4L2_SUBDEV_FORMAT_ACTIVE, + }; + v4l2_subdev_call(s->sd, pad, get_fmt, NULL, &sd_fmt); v4l2_fill_pix_format(pix, &sd_fmt.format); } @@ -735,7 +737,6 @@ static int cobalt_try_fmt_vid_cap(struct file *file, void *priv_fh, { struct cobalt_stream *s = video_drvdata(file); struct v4l2_pix_format *pix = &f->fmt.pix; - struct v4l2_subdev_format sd_fmt; /* Check for min (QCIF) and max (Full HD) size */ if ((pix->width < 176) || (pix->height < 144)) { @@ -760,8 +761,11 @@ static int cobalt_try_fmt_vid_cap(struct file *file, void *priv_fh, pix->height = 1080; pix->colorspace = V4L2_COLORSPACE_SRGB; } else { - sd_fmt.pad = s->pad_source; - sd_fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE; + struct v4l2_subdev_format sd_fmt = { + .pad = s->pad_source, + .which = V4L2_SUBDEV_FORMAT_ACTIVE, + }; + v4l2_subdev_call(s->sd, pad, get_fmt, NULL, &sd_fmt); v4l2_fill_pix_format(pix, &sd_fmt.format); } @@ -906,7 +910,9 @@ static int cobalt_s_fmt_vid_out(struct file *file, void *priv_fh, { struct cobalt_stream *s = video_drvdata(file); struct v4l2_pix_format *pix = &f->fmt.pix; - struct v4l2_subdev_format sd_fmt = { 0 }; + struct v4l2_subdev_format sd_fmt = { + .which = V4L2_SUBDEV_FORMAT_ACTIVE, + }; u32 code; if (cobalt_try_fmt_vid_out(file, priv_fh, f)) @@ -937,7 +943,6 @@ static int cobalt_s_fmt_vid_out(struct file *file, void *priv_fh, s->xfer_func = pix->xfer_func; s->ycbcr_enc = pix->ycbcr_enc; s->quantization = pix->quantization; - sd_fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE; v4l2_fill_mbus_format(&sd_fmt.format, pix, code); v4l2_subdev_call(s->sd, pad, set_fmt, NULL, &sd_fmt); return 0; |