From patchwork Thu May 27 07:06:33 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Huzaifa Sidhpurwala X-Patchwork-Id: 102574 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o4R78hjU013472 for ; Thu, 27 May 2010 07:08:43 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756149Ab0E0HIi (ORCPT ); Thu, 27 May 2010 03:08:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:3061 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755428Ab0E0HIh (ORCPT ); Thu, 27 May 2010 03:08:37 -0400 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o4R78bHN005345 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 27 May 2010 03:08:37 -0400 Received: from localhost.localdomain (shazarik.pnq.redhat.com [10.65.192.171]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o4R78ZlN025008; Thu, 27 May 2010 03:08:36 -0400 From: huzaifas@redhat.com To: linux-media@vger.kernel.org Cc: hdegoede@redhat.com, Huzaifa Sidhpurwala Subject: [PATCH] move v4l1 ioctls from kernel to libv4l1: VIDIOCSCHAN move VIDIOCSCHAN to libv4l1 Signed-off-by: Huzaifa Sidhpurwala Date: Thu, 27 May 2010 12:36:33 +0530 Message-Id: <1274943993-28246-1-git-send-email-huzaifas@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Thu, 27 May 2010 07:08:43 +0000 (UTC) diff --git a/lib/libv4l1/libv4l1.c b/lib/libv4l1/libv4l1.c index f64025a..4a65222 100644 --- a/lib/libv4l1/libv4l1.c +++ b/lib/libv4l1/libv4l1.c @@ -702,7 +702,35 @@ int v4l1_ioctl(int fd, unsigned long int request, ...) struct video_channel *chan = arg; if ((devices[index].flags & V4L1_SUPPORTS_ENUMINPUT) && (devices[index].flags & V4L1_SUPPORTS_ENUMSTD)) { - result = SYS_IOCTL(fd, request, arg); + + v4l2_std_id sid = 0; + struct v4l2_input input2; + + result = SYS_IOCTL(fd, VIDIOC_ENUMINPUT, &input2); + if (result < 0) + break; + + switch (chan->norm) { + case VIDEO_MODE_PAL: + sid = V4L2_STD_PAL; + break; + case VIDEO_MODE_NTSC: + sid = V4L2_STD_NTSC; + break; + case VIDEO_MODE_SECAM: + sid = V4L2_STD_SECAM; + break; + case VIDEO_MODE_AUTO: + sid = V4L2_STD_ALL; + break; + } + + if (0 != sid) { + result = SYS_IOCTLdrv(fd, VIDIOC_S_STD, &sid); + if (result < 0) + break; + } + break; } /* In case of no ENUMSTD support, ignore the norm member of the