[media] tm6000: Do not use video buffers in radio mode

If the radio device is opened there is no need to initialize the video
buffer queue because it is not used.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Thierry Reding 2011-08-04 04:14:15 -03:00 committed by Mauro Carvalho Chehab
parent dd0c8abf2a
commit aa4a583d35
1 changed files with 10 additions and 8 deletions

View File

@ -1530,13 +1530,13 @@ static int tm6000_open(struct file *file)
dev->mode = TM6000_MODE_ANALOG; dev->mode = TM6000_MODE_ANALOG;
} }
videobuf_queue_vmalloc_init(&fh->vb_vidq, &tm6000_video_qops, if (!fh->radio) {
NULL, &dev->slock, videobuf_queue_vmalloc_init(&fh->vb_vidq, &tm6000_video_qops,
fh->type, NULL, &dev->slock,
V4L2_FIELD_INTERLACED, fh->type,
sizeof(struct tm6000_buffer), fh, &dev->lock); V4L2_FIELD_INTERLACED,
sizeof(struct tm6000_buffer), fh, &dev->lock);
if (fh->radio) { } else {
dprintk(dev, V4L2_DEBUG_OPEN, "video_open: setting radio device\n"); dprintk(dev, V4L2_DEBUG_OPEN, "video_open: setting radio device\n");
dev->input = 5; dev->input = 5;
tm6000_set_audio_rinput(dev); tm6000_set_audio_rinput(dev);
@ -1608,7 +1608,9 @@ static int tm6000_release(struct file *file)
int err; int err;
tm6000_uninit_isoc(dev); tm6000_uninit_isoc(dev);
videobuf_mmap_free(&fh->vb_vidq);
if (!fh->radio)
videobuf_mmap_free(&fh->vb_vidq);
err = tm6000_reset(dev); err = tm6000_reset(dev);
if (err < 0) if (err < 0)