提交 1d80db56 编写于 作者: H Hans Verkuil 提交者: Mauro Carvalho Chehab

V4L/DVB (11676): radio-fm16: cleanups

Remove bogus flags field
Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 9d6f7f60
...@@ -49,7 +49,6 @@ struct fmi ...@@ -49,7 +49,6 @@ struct fmi
int io; int io;
int curvol; /* 1 or 0 */ int curvol; /* 1 or 0 */
unsigned long curfreq; /* freq in kHz */ unsigned long curfreq; /* freq in kHz */
__u32 flags;
struct mutex lock; struct mutex lock;
}; };
...@@ -57,7 +56,7 @@ static struct fmi fmi_card; ...@@ -57,7 +56,7 @@ static struct fmi fmi_card;
static struct pnp_dev *dev; static struct pnp_dev *dev;
/* freq is in 1/16 kHz to internal number, hw precision is 50 kHz */ /* freq is in 1/16 kHz to internal number, hw precision is 50 kHz */
/* It is only useful to give freq in intervall of 800 (=0.05Mhz), /* It is only useful to give freq in interval of 800 (=0.05Mhz),
* other bits will be truncated, e.g 92.7400016 -> 92.7, but * other bits will be truncated, e.g 92.7400016 -> 92.7, but
* 92.7400017 -> 92.75 * 92.7400017 -> 92.75
*/ */
...@@ -142,7 +141,6 @@ static int vidioc_querycap(struct file *file, void *priv, ...@@ -142,7 +141,6 @@ static int vidioc_querycap(struct file *file, void *priv,
static int vidioc_g_tuner(struct file *file, void *priv, static int vidioc_g_tuner(struct file *file, void *priv,
struct v4l2_tuner *v) struct v4l2_tuner *v)
{ {
int mult;
struct fmi *fmi = video_drvdata(file); struct fmi *fmi = video_drvdata(file);
if (v->index > 0) if (v->index > 0)
...@@ -150,11 +148,10 @@ static int vidioc_g_tuner(struct file *file, void *priv, ...@@ -150,11 +148,10 @@ static int vidioc_g_tuner(struct file *file, void *priv,
strlcpy(v->name, "FM", sizeof(v->name)); strlcpy(v->name, "FM", sizeof(v->name));
v->type = V4L2_TUNER_RADIO; v->type = V4L2_TUNER_RADIO;
mult = (fmi->flags & V4L2_TUNER_CAP_LOW) ? 1 : 1000; v->rangelow = RSF16_MINFREQ;
v->rangelow = RSF16_MINFREQ / mult; v->rangehigh = RSF16_MAXFREQ;
v->rangehigh = RSF16_MAXFREQ / mult;
v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO; v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO;
v->capability = fmi->flags & V4L2_TUNER_CAP_LOW; v->capability = V4L2_TUNER_CAP_LOW;
v->audmode = V4L2_TUNER_MODE_STEREO; v->audmode = V4L2_TUNER_MODE_STEREO;
v->signal = fmi_getsigstr(fmi); v->signal = fmi_getsigstr(fmi);
return 0; return 0;
...@@ -171,8 +168,6 @@ static int vidioc_s_frequency(struct file *file, void *priv, ...@@ -171,8 +168,6 @@ static int vidioc_s_frequency(struct file *file, void *priv,
{ {
struct fmi *fmi = video_drvdata(file); struct fmi *fmi = video_drvdata(file);
if (!(fmi->flags & V4L2_TUNER_CAP_LOW))
f->frequency *= 1000;
if (f->frequency < RSF16_MINFREQ || if (f->frequency < RSF16_MINFREQ ||
f->frequency > RSF16_MAXFREQ) f->frequency > RSF16_MAXFREQ)
return -EINVAL; return -EINVAL;
...@@ -189,8 +184,6 @@ static int vidioc_g_frequency(struct file *file, void *priv, ...@@ -189,8 +184,6 @@ static int vidioc_g_frequency(struct file *file, void *priv,
f->type = V4L2_TUNER_RADIO; f->type = V4L2_TUNER_RADIO;
f->frequency = fmi->curfreq; f->frequency = fmi->curfreq;
if (!(fmi->flags & V4L2_TUNER_CAP_LOW))
f->frequency /= 1000;
return 0; return 0;
} }
...@@ -347,7 +340,6 @@ static int __init fmi_init(void) ...@@ -347,7 +340,6 @@ static int __init fmi_init(void)
return res; return res;
} }
fmi->flags = V4L2_TUNER_CAP_LOW;
strlcpy(fmi->vdev.name, v4l2_dev->name, sizeof(fmi->vdev.name)); strlcpy(fmi->vdev.name, v4l2_dev->name, sizeof(fmi->vdev.name));
fmi->vdev.v4l2_dev = v4l2_dev; fmi->vdev.v4l2_dev = v4l2_dev;
fmi->vdev.fops = &fmi_fops; fmi->vdev.fops = &fmi_fops;
......
...@@ -61,13 +61,12 @@ struct fmr2 ...@@ -61,13 +61,12 @@ struct fmr2
int stereo; /* card is producing stereo audio */ int stereo; /* card is producing stereo audio */
unsigned long curfreq; /* freq in kHz */ unsigned long curfreq; /* freq in kHz */
int card_type; int card_type;
u32 flags;
}; };
static struct fmr2 fmr2_card; static struct fmr2 fmr2_card;
/* hw precision is 12.5 kHz /* hw precision is 12.5 kHz
* It is only useful to give freq in intervall of 200 (=0.0125Mhz), * It is only useful to give freq in interval of 200 (=0.0125Mhz),
* other bits will be truncated * other bits will be truncated
*/ */
#define RSF16_ENCODE(x) ((x) / 200 + 856) #define RSF16_ENCODE(x) ((x) / 200 + 856)
...@@ -221,7 +220,6 @@ static int vidioc_querycap(struct file *file, void *priv, ...@@ -221,7 +220,6 @@ static int vidioc_querycap(struct file *file, void *priv,
static int vidioc_g_tuner(struct file *file, void *priv, static int vidioc_g_tuner(struct file *file, void *priv,
struct v4l2_tuner *v) struct v4l2_tuner *v)
{ {
int mult;
struct fmr2 *fmr2 = video_drvdata(file); struct fmr2 *fmr2 = video_drvdata(file);
if (v->index > 0) if (v->index > 0)
...@@ -230,11 +228,10 @@ static int vidioc_g_tuner(struct file *file, void *priv, ...@@ -230,11 +228,10 @@ static int vidioc_g_tuner(struct file *file, void *priv,
strlcpy(v->name, "FM", sizeof(v->name)); strlcpy(v->name, "FM", sizeof(v->name));
v->type = V4L2_TUNER_RADIO; v->type = V4L2_TUNER_RADIO;
mult = (fmr2->flags & V4L2_TUNER_CAP_LOW) ? 1 : 1000; v->rangelow = RSF16_MINFREQ;
v->rangelow = RSF16_MINFREQ / mult; v->rangehigh = RSF16_MAXFREQ;
v->rangehigh = RSF16_MAXFREQ / mult;
v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO; v->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO;
v->capability = fmr2->flags&V4L2_TUNER_CAP_LOW; v->capability = V4L2_TUNER_CAP_LOW;
v->audmode = fmr2->stereo ? V4L2_TUNER_MODE_STEREO: v->audmode = fmr2->stereo ? V4L2_TUNER_MODE_STEREO:
V4L2_TUNER_MODE_MONO; V4L2_TUNER_MODE_MONO;
mutex_lock(&fmr2->lock); mutex_lock(&fmr2->lock);
...@@ -254,8 +251,6 @@ static int vidioc_s_frequency(struct file *file, void *priv, ...@@ -254,8 +251,6 @@ static int vidioc_s_frequency(struct file *file, void *priv,
{ {
struct fmr2 *fmr2 = video_drvdata(file); struct fmr2 *fmr2 = video_drvdata(file);
if (!(fmr2->flags & V4L2_TUNER_CAP_LOW))
f->frequency *= 1000;
if (f->frequency < RSF16_MINFREQ || if (f->frequency < RSF16_MINFREQ ||
f->frequency > RSF16_MAXFREQ) f->frequency > RSF16_MAXFREQ)
return -EINVAL; return -EINVAL;
...@@ -279,8 +274,6 @@ static int vidioc_g_frequency(struct file *file, void *priv, ...@@ -279,8 +274,6 @@ static int vidioc_g_frequency(struct file *file, void *priv,
f->type = V4L2_TUNER_RADIO; f->type = V4L2_TUNER_RADIO;
f->frequency = fmr2->curfreq; f->frequency = fmr2->curfreq;
if (!(fmr2->flags & V4L2_TUNER_CAP_LOW))
f->frequency /= 1000;
return 0; return 0;
} }
...@@ -406,7 +399,6 @@ static int __init fmr2_init(void) ...@@ -406,7 +399,6 @@ static int __init fmr2_init(void)
strlcpy(v4l2_dev->name, "sf16fmr2", sizeof(v4l2_dev->name)); strlcpy(v4l2_dev->name, "sf16fmr2", sizeof(v4l2_dev->name));
fmr2->io = io; fmr2->io = io;
fmr2->stereo = 1; fmr2->stereo = 1;
fmr2->flags = V4L2_TUNER_CAP_LOW;
mutex_init(&fmr2->lock); mutex_init(&fmr2->lock);
if (!request_region(fmr2->io, 2, "sf16fmr2")) { if (!request_region(fmr2->io, 2, "sf16fmr2")) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册