Commit 9e36eabc authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB: cx18: remove old g/s_fmt from the cx18_av subdev



cx18 has now switched over completely to the new mediabus subdev ops.

Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent e17ad1de
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
@@ -1021,13 +1021,6 @@ static int cx18_av_queryctrl(struct v4l2_subdev *sd, struct v4l2_queryctrl *qc)
	return -EINVAL;
}

static int cx18_av_g_fmt(struct v4l2_subdev *sd, struct v4l2_format *fmt)
{
	if (fmt->type != V4L2_BUF_TYPE_SLICED_VBI_CAPTURE)
		return -EINVAL;
	return cx18_av_g_sliced_fmt(sd, &fmt->fmt.sliced);
}

static int cx18_av_s_mbus_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefmt *fmt)
{
	struct cx18_av_state *state = to_cx18_av_state(sd);
@@ -1099,22 +1092,6 @@ static int cx18_av_s_mbus_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefmt
	return 0;
}

static int cx18_av_s_fmt(struct v4l2_subdev *sd, struct v4l2_format *fmt)
{
	struct v4l2_mbus_framefmt mbus_fmt;

	switch (fmt->type) {
	case V4L2_BUF_TYPE_VIDEO_CAPTURE:
		mbus_fmt.width = fmt->fmt.pix.width;
		mbus_fmt.height = fmt->fmt.pix.height;
		mbus_fmt.code = V4L2_MBUS_FMT_FIXED;
		return cx18_av_s_mbus_fmt(sd, &mbus_fmt);

	default:
		return -EINVAL;
	}
}

static int cx18_av_s_stream(struct v4l2_subdev *sd, int enable)
{
	struct cx18 *cx = v4l2_get_subdevdata(sd);
@@ -1409,8 +1386,6 @@ static const struct v4l2_subdev_audio_ops cx18_av_audio_ops = {
static const struct v4l2_subdev_video_ops cx18_av_video_ops = {
	.s_routing = cx18_av_s_video_routing,
	.s_stream = cx18_av_s_stream,
	.g_fmt = cx18_av_g_fmt,
	.s_fmt = cx18_av_s_fmt,
	.s_mbus_fmt = cx18_av_s_mbus_fmt,
};

+5 −6
Original line number Diff line number Diff line
@@ -297,14 +297,13 @@ int cx18_s_ext_ctrls(struct file *file, void *fh, struct v4l2_ext_controls *c)
		if (p.video_encoding != cx->params.video_encoding) {
			int is_mpeg1 = p.video_encoding ==
						V4L2_MPEG_VIDEO_ENCODING_MPEG_1;
			struct v4l2_format fmt;
			struct v4l2_mbus_framefmt fmt;

			/* fix videodecoder resolution */
			fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
			fmt.fmt.pix.width = cx->params.width
						/ (is_mpeg1 ? 2 : 1);
			fmt.fmt.pix.height = cx->params.height;
			v4l2_subdev_call(cx->sd_av, video, s_fmt, &fmt);
			fmt.width = cx->params.width / (is_mpeg1 ? 2 : 1);
			fmt.height = cx->params.height;
			fmt.code = V4L2_MBUS_FMT_FIXED;
			v4l2_subdev_call(cx->sd_av, video, s_mbus_fmt, &fmt);
		}
		priv.cx = cx;
		priv.s = &cx->streams[id->type];
+5 −3
Original line number Diff line number Diff line
@@ -274,6 +274,7 @@ static int cx18_s_fmt_vid_cap(struct file *file, void *fh,
{
	struct cx18_open_id *id = fh;
	struct cx18 *cx = id->cx;
	struct v4l2_mbus_framefmt mbus_fmt;
	int ret;
	int w, h;

@@ -293,9 +294,10 @@ static int cx18_s_fmt_vid_cap(struct file *file, void *fh,
	if (atomic_read(&cx->ana_capturing) > 0)
		return -EBUSY;

	cx->params.width = w;
	cx->params.height = h;
	v4l2_subdev_call(cx->sd_av, video, s_fmt, fmt);
	mbus_fmt.width = cx->params.width = w;
	mbus_fmt.height = cx->params.height = h;
	mbus_fmt.code = V4L2_MBUS_FMT_FIXED;
	v4l2_subdev_call(cx->sd_av, video, s_mbus_fmt, &mbus_fmt);
	return cx18_g_fmt_vid_cap(file, fh, fmt);
}