From patchwork Thu May 27 08:02:20 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Huzaifa Sidhpurwala X-Patchwork-Id: 102575 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 o4R84UIr028708 for ; Thu, 27 May 2010 08:04:30 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751946Ab0E0IE2 (ORCPT ); Thu, 27 May 2010 04:04:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56868 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750827Ab0E0IE0 (ORCPT ); Thu, 27 May 2010 04:04:26 -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 o4R84PWo013279 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 27 May 2010 04:04:25 -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 o4R84N3f005328; Thu, 27 May 2010 04:04:24 -0400 From: huzaifas@redhat.com To: linux-media@vger.kernel.org Cc: hdegoede@redhat.com, Huzaifa Sidhpurwala Subject: [PATCH] libv4l1: move v4l1 ioctls from kernel to libv4l1: VIDIOCSCHAN Date: Thu, 27 May 2010 13:32:20 +0530 Message-Id: <1274947340-29448-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 08:04:30 +0000 (UTC) diff --git a/lib/libv4l1/libv4l1.c b/lib/libv4l1/libv4l1.c index f64025a..c9b6bf9 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_IOCTL(fd, VIDIOC_S_STD, &sid); + if (result < 0) + break; + } + break; } /* In case of no ENUMSTD support, ignore the norm member of the