[media] v4l2: replace try_mbus_fmt by set_fmt
The try_mbus_fmt video op is a duplicate of the pad op. Replace all uses in sub-devices by the set_fmt() pad op. Since try_mbus_fmt and s_mbus_fmt both map to the set_fmt pad op (but with a different 'which' argument), this patch will replace both try_mbus_fmt and s_mbus_fmt by set_fmt. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:

committato da
Mauro Carvalho Chehab

parent
da298c6d98
commit
717fd5b490
@@ -574,10 +574,17 @@ static int saa6752hs_get_fmt(struct v4l2_subdev *sd,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int saa6752hs_try_mbus_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefmt *f)
|
||||
static int saa6752hs_set_fmt(struct v4l2_subdev *sd,
|
||||
struct v4l2_subdev_pad_config *cfg,
|
||||
struct v4l2_subdev_format *format)
|
||||
{
|
||||
struct v4l2_mbus_framefmt *f = &format->format;
|
||||
struct saa6752hs_state *h = to_state(sd);
|
||||
int dist_352, dist_480, dist_720;
|
||||
|
||||
if (format->pad)
|
||||
return -EINVAL;
|
||||
|
||||
f->code = MEDIA_BUS_FMT_FIXED;
|
||||
|
||||
dist_352 = abs(f->width - 352);
|
||||
@@ -598,15 +605,11 @@ static int saa6752hs_try_mbus_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_frame
|
||||
}
|
||||
f->field = V4L2_FIELD_INTERLACED;
|
||||
f->colorspace = V4L2_COLORSPACE_SMPTE170M;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int saa6752hs_s_mbus_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefmt *f)
|
||||
{
|
||||
struct saa6752hs_state *h = to_state(sd);
|
||||
|
||||
if (f->code != MEDIA_BUS_FMT_FIXED)
|
||||
return -EINVAL;
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
cfg->try_fmt = *f;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
FIXME: translate and round width/height into EMPRESS
|
||||
@@ -620,7 +623,9 @@ static int saa6752hs_s_mbus_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefm
|
||||
D1 | 720x576 | 720x480
|
||||
*/
|
||||
|
||||
saa6752hs_try_mbus_fmt(sd, f);
|
||||
if (f->code != MEDIA_BUS_FMT_FIXED)
|
||||
return -EINVAL;
|
||||
|
||||
if (f->width == 720)
|
||||
h->video_format = SAA6752HS_VF_D1;
|
||||
else if (f->width == 480)
|
||||
@@ -653,12 +658,11 @@ static const struct v4l2_subdev_core_ops saa6752hs_core_ops = {
|
||||
|
||||
static const struct v4l2_subdev_video_ops saa6752hs_video_ops = {
|
||||
.s_std = saa6752hs_s_std,
|
||||
.s_mbus_fmt = saa6752hs_s_mbus_fmt,
|
||||
.try_mbus_fmt = saa6752hs_try_mbus_fmt,
|
||||
};
|
||||
|
||||
static const struct v4l2_subdev_pad_ops saa6752hs_pad_ops = {
|
||||
.get_fmt = saa6752hs_get_fmt,
|
||||
.set_fmt = saa6752hs_set_fmt,
|
||||
};
|
||||
|
||||
static const struct v4l2_subdev_ops saa6752hs_ops = {
|
||||
|
Fai riferimento in un nuovo problema
Block a user