提交 5eb35fd0 编写于 作者: H Hans Verkuil 提交者: Mauro Carvalho Chehab

V4L/DVB (11312): tuner: remove V4L1 code from this driver.

No i2c modules are called with the V4L1 API anymore, so this can be removed.
Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 bccfa449
...@@ -800,132 +800,6 @@ static int tuner_s_standby(struct v4l2_subdev *sd, u32 standby) ...@@ -800,132 +800,6 @@ static int tuner_s_standby(struct v4l2_subdev *sd, u32 standby)
return 0; return 0;
} }
#ifdef CONFIG_VIDEO_ALLOW_V4L1
static long tuner_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
{
struct tuner *t = to_tuner(sd);
struct i2c_client *client = v4l2_get_subdevdata(sd);
struct analog_demod_ops *analog_ops = &t->fe.ops.analog_ops;
struct dvb_tuner_ops *fe_tuner_ops = &t->fe.ops.tuner_ops;
switch (cmd) {
case VIDIOCSAUDIO:
if (check_mode(t, "VIDIOCSAUDIO") == -EINVAL)
return 0;
if (check_v4l2(t) == -EINVAL)
return 0;
/* Should be implemented, since bttv calls it */
tuner_dbg("VIDIOCSAUDIO not implemented.\n");
break;
case VIDIOCSCHAN:
{
static const v4l2_std_id map[] = {
[VIDEO_MODE_PAL] = V4L2_STD_PAL,
[VIDEO_MODE_NTSC] = V4L2_STD_NTSC_M,
[VIDEO_MODE_SECAM] = V4L2_STD_SECAM,
[4 /* bttv */ ] = V4L2_STD_PAL_M,
[5 /* bttv */ ] = V4L2_STD_PAL_N,
[6 /* bttv */ ] = V4L2_STD_NTSC_M_JP,
};
struct video_channel *vc = arg;
if (check_v4l2(t) == -EINVAL)
return 0;
if (set_mode(client,t,V4L2_TUNER_ANALOG_TV, "VIDIOCSCHAN")==-EINVAL)
return 0;
if (vc->norm < ARRAY_SIZE(map))
t->std = map[vc->norm];
tuner_fixup_std(t);
if (t->tv_freq)
set_tv_freq(client, t->tv_freq);
return 0;
}
case VIDIOCSFREQ:
{
unsigned long *v = arg;
if (check_mode(t, "VIDIOCSFREQ") == -EINVAL)
return 0;
if (check_v4l2(t) == -EINVAL)
return 0;
set_freq(client, *v);
return 0;
}
case VIDIOCGTUNER:
{
struct video_tuner *vt = arg;
if (check_mode(t, "VIDIOCGTUNER") == -EINVAL)
return 0;
if (check_v4l2(t) == -EINVAL)
return 0;
if (V4L2_TUNER_RADIO == t->mode) {
if (fe_tuner_ops->get_status) {
u32 tuner_status;
fe_tuner_ops->get_status(&t->fe, &tuner_status);
if (tuner_status & TUNER_STATUS_STEREO)
vt->flags |= VIDEO_TUNER_STEREO_ON;
else
vt->flags &= ~VIDEO_TUNER_STEREO_ON;
} else {
if (analog_ops->is_stereo) {
if (analog_ops->is_stereo(&t->fe))
vt->flags |=
VIDEO_TUNER_STEREO_ON;
else
vt->flags &=
~VIDEO_TUNER_STEREO_ON;
}
}
if (analog_ops->has_signal)
vt->signal =
analog_ops->has_signal(&t->fe);
vt->flags |= VIDEO_TUNER_LOW; /* Allow freqs at 62.5 Hz */
vt->rangelow = radio_range[0] * 16000;
vt->rangehigh = radio_range[1] * 16000;
} else {
vt->rangelow = tv_range[0] * 16;
vt->rangehigh = tv_range[1] * 16;
}
return 0;
}
case VIDIOCGAUDIO:
{
struct video_audio *va = arg;
if (check_mode(t, "VIDIOCGAUDIO") == -EINVAL)
return 0;
if (check_v4l2(t) == -EINVAL)
return 0;
if (V4L2_TUNER_RADIO == t->mode) {
if (fe_tuner_ops->get_status) {
u32 tuner_status;
fe_tuner_ops->get_status(&t->fe, &tuner_status);
va->mode = (tuner_status & TUNER_STATUS_STEREO)
? VIDEO_SOUND_STEREO : VIDEO_SOUND_MONO;
} else if (analog_ops->is_stereo)
va->mode = analog_ops->is_stereo(&t->fe)
? VIDEO_SOUND_STEREO : VIDEO_SOUND_MONO;
}
return 0;
}
}
return -ENOIOCTLCMD;
}
#endif
static int tuner_s_config(struct v4l2_subdev *sd, const struct v4l2_priv_tun_config *cfg) static int tuner_s_config(struct v4l2_subdev *sd, const struct v4l2_priv_tun_config *cfg)
{ {
struct tuner *t = to_tuner(sd); struct tuner *t = to_tuner(sd);
...@@ -1111,9 +985,6 @@ static int tuner_resume(struct i2c_client *c) ...@@ -1111,9 +985,6 @@ static int tuner_resume(struct i2c_client *c)
static const struct v4l2_subdev_core_ops tuner_core_ops = { static const struct v4l2_subdev_core_ops tuner_core_ops = {
.log_status = tuner_log_status, .log_status = tuner_log_status,
.s_standby = tuner_s_standby, .s_standby = tuner_s_standby,
#ifdef CONFIG_VIDEO_ALLOW_V4L1
.ioctl = tuner_ioctl,
#endif
}; };
static const struct v4l2_subdev_tuner_ops tuner_tuner_ops = { static const struct v4l2_subdev_tuner_ops tuner_tuner_ops = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册