V4L/DVB (11676): radio-fm16: cleanups
Remove bogus flags field Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
9d6f7f603f
commit
1d80db562f
@ -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;
|
|||||||
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,
|
|||||||
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,
|
|||||||
|
|
||||||
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,
|
|||||||
{
|
{
|
||||||
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,
|
|||||||
|
|
||||||
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)
|
|||||||
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
|
|||||||
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,
|
|||||||
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,
|
|||||||
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,
|
|||||||
{
|
{
|
||||||
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,
|
|||||||
|
|
||||||
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)
|
|||||||
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")) {
|
||||||
|
Loading…
Reference in New Issue
Block a user