From patchwork Thu Aug 4 07:14:15 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 7085 Return-path: Envelope-to: mchehab@infradead.org Delivery-date: Thu, 04 Aug 2011 07:15:31 +0000 Received: from casper.infradead.org [85.118.1.10] by localhost.localdomain with IMAP (fetchmail-6.3.17) for (single-drop); Thu, 04 Aug 2011 08:52:46 -0300 (BRT) Received: from vger.kernel.org ([209.132.180.67]) by casper.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1Qos9S-0002sZ-KY; Thu, 04 Aug 2011 07:15:30 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752280Ab1HDHO4 (ORCPT + 1 other); Thu, 4 Aug 2011 03:14:56 -0400 Received: from moutng.kundenserver.de ([212.227.126.171]:52803 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752055Ab1HDHOa (ORCPT ); Thu, 4 Aug 2011 03:14:30 -0400 Received: from localhost (p548E06E4.dip0.t-ipconnect.de [84.142.6.228]) by mrelayeu.kundenserver.de (node=mreu4) with ESMTP (Nemesis) id 0M7A5y-1RbtiM3Uxi-00x53e; Thu, 04 Aug 2011 09:14:28 +0200 From: Thierry Reding To: linux-media@vger.kernel.org Subject: [PATCH 17/21] [staging] tm6000: Do not use video buffers in radio mode. Date: Thu, 4 Aug 2011 09:14:15 +0200 Message-Id: <1312442059-23935-18-git-send-email-thierry.reding@avionic-design.de> X-Mailer: git-send-email 1.7.6 In-Reply-To: <1312442059-23935-1-git-send-email-thierry.reding@avionic-design.de> References: <1312442059-23935-1-git-send-email-thierry.reding@avionic-design.de> X-Provags-ID: V02:K0:JnEjX6l4cNZefI9lwKq+s0BLEs7d/P0D3SKf4vrLoFH BmRm2aG/fMf/+m8jVaXiZnUVRQa2b/OQmoCw10VWLZLMxg9ZXq s9c5dAXcgjlJXLx5NzT2jH+3FuJvPBZC8FyotBf5cBrDsrjPzb NunkYnLXHnNu0IjXA7iS6kE5NBmLUggrm+g6WK45UW0Hd0E2hD ovvbyRr9D4RQ5/u1kHUvgi87oW91lrwx3T9WCq1y2I= Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org If the radio device is opened there is no need to initialize the video buffer queue because it is not used. --- drivers/staging/tm6000/tm6000-video.c | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/staging/tm6000/tm6000-video.c b/drivers/staging/tm6000/tm6000-video.c index b59a0da..bb39c91 100644 --- a/drivers/staging/tm6000/tm6000-video.c +++ b/drivers/staging/tm6000/tm6000-video.c @@ -1539,13 +1539,13 @@ static int tm6000_open(struct file *file) dev->mode = TM6000_MODE_ANALOG; } - videobuf_queue_vmalloc_init(&fh->vb_vidq, &tm6000_video_qops, - NULL, &dev->slock, - fh->type, - V4L2_FIELD_INTERLACED, - sizeof(struct tm6000_buffer), fh, &dev->lock); - - if (fh->radio) { + if (!fh->radio) { + videobuf_queue_vmalloc_init(&fh->vb_vidq, &tm6000_video_qops, + NULL, &dev->slock, + fh->type, + V4L2_FIELD_INTERLACED, + sizeof(struct tm6000_buffer), fh, &dev->lock); + } else { dprintk(dev, V4L2_DEBUG_OPEN, "video_open: setting radio device\n"); dev->input = 5; tm6000_set_audio_rinput(dev); @@ -1617,7 +1617,9 @@ static int tm6000_release(struct file *file) int err; tm6000_uninit_isoc(dev); - videobuf_mmap_free(&fh->vb_vidq); + + if (!fh->radio) + videobuf_mmap_free(&fh->vb_vidq); err = tm6000_reset(dev); if (err < 0)