Commit ce5bdd52 authored by Ondrej Zary's avatar Ondrej Zary Committed by Mauro Carvalho Chehab

[media] saa7134: v4l2-compliance: fix g_tuner/s_tuner

Make saa7134 driver more V4L2 compliant: return real frequency range in
g_tuner and fail in s_tuner for non-zero tuner
Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 0a5ea88b
...@@ -2014,11 +2014,11 @@ static int saa7134_g_tuner(struct file *file, void *priv, ...@@ -2014,11 +2014,11 @@ static int saa7134_g_tuner(struct file *file, void *priv,
if (NULL != card_in(dev, n).name) { if (NULL != card_in(dev, n).name) {
strcpy(t->name, "Television"); strcpy(t->name, "Television");
t->type = V4L2_TUNER_ANALOG_TV; t->type = V4L2_TUNER_ANALOG_TV;
saa_call_all(dev, tuner, g_tuner, t);
t->capability = V4L2_TUNER_CAP_NORM | t->capability = V4L2_TUNER_CAP_NORM |
V4L2_TUNER_CAP_STEREO | V4L2_TUNER_CAP_STEREO |
V4L2_TUNER_CAP_LANG1 | V4L2_TUNER_CAP_LANG1 |
V4L2_TUNER_CAP_LANG2; V4L2_TUNER_CAP_LANG2;
t->rangehigh = 0xffffffffUL;
t->rxsubchans = saa7134_tvaudio_getstereo(dev); t->rxsubchans = saa7134_tvaudio_getstereo(dev);
t->audmode = saa7134_tvaudio_rx2mode(t->rxsubchans); t->audmode = saa7134_tvaudio_rx2mode(t->rxsubchans);
} }
...@@ -2034,6 +2034,9 @@ static int saa7134_s_tuner(struct file *file, void *priv, ...@@ -2034,6 +2034,9 @@ static int saa7134_s_tuner(struct file *file, void *priv,
struct saa7134_dev *dev = fh->dev; struct saa7134_dev *dev = fh->dev;
int rx, mode; int rx, mode;
if (0 != t->index)
return -EINVAL;
mode = dev->thread.mode; mode = dev->thread.mode;
if (UNSET == mode) { if (UNSET == mode) {
rx = saa7134_tvaudio_getstereo(dev); rx = saa7134_tvaudio_getstereo(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment