Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1763676AbZAUI7v (ORCPT ); Wed, 21 Jan 2009 03:59:51 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755642AbZAUI7k (ORCPT ); Wed, 21 Jan 2009 03:59:40 -0500 Received: from wa-out-1112.google.com ([209.85.146.182]:14003 "EHLO wa-out-1112.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752834AbZAUI7j (ORCPT ); Wed, 21 Jan 2009 03:59:39 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=dDi3en+Yx24ACz2y87yyTB4CV++d4HEDKQHVsmKBH1sgJ6nFDSWEqW0mE1+p9Va3RP CFs6sP/fl779L2g8HFoLI6LQmuWEMpjURMtIm+5KbjaH+LWEg+Zit3gQfYFx+743NlB6 lMGvu+NWmX9a3jIeKfKpc9uc/vYacekGkIV5g= MIME-Version: 1.0 In-Reply-To: References: <1232502038.3123.61.camel@localhost.localdomain> <20090120235048.4f7200f9@caramujo.chehab.org> <3f9a31f40901202044n73a100faj96a6f3d3973bcc25@mail.gmail.com> Date: Wed, 21 Jan 2009 14:29:38 +0530 Message-ID: <3f9a31f40901210059g51d46f56t85364d886b757a6e@mail.gmail.com> Subject: Re: Confusion in usr/include/linux/videodev.h From: Jaswinder Singh Rajput To: Trent Piepho Cc: Mauro Carvalho Chehab , Jaswinder Singh Rajput , linux-media@vger.kernel.org, video4linux-list@redhat.com, Sam Ravnborg , Ingo Molnar , LKML Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2719 Lines: 65 On Wed, Jan 21, 2009 at 2:24 PM, Trent Piepho wrote: > On Wed, 21 Jan 2009, Jaswinder Singh Rajput wrote: >> On Wed, Jan 21, 2009 at 7:20 AM, Mauro Carvalho Chehab >> wrote: >> > On Wed, 21 Jan 2009 07:10:38 +0530 >> > Jaswinder Singh Rajput wrote: >> > >> >> usr/include/linux/videodev.h is giving 2 warnings in 'make headers_check': >> >> usr/include/linux/videodev.h:19: leaks CONFIG_VIDEO to userspace where it is not valid >> >> usr/include/linux/videodev.h:314: leaks CONFIG_VIDEO to userspace where it is not valid >> >> >> >> Whole file is covered with #if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__) >> >> >> >> It means this file is only valid for kernel mode if CONFIG_VIDEO_V4L1_COMPAT is defined but in user mode it is always valid. >> > >> > V4L1 is the old deprecated userspace API for video devices. It is still >> > required by some userspace applications. So, on userspace, it should be >> > included. Also, this allows that one userspace app to be compatible with both >> > V4L2 API (the current one) and the legacy V4L1 one. >> > >> > It should be noticed that are still a few drivers using the legacy API yet to >> > be converted. >> > >> >> If you have no objections then I will make a patchset which do followings: >> 1. Remove #if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined >> (__KERNEL__) from include/linux/videodev.h >> 2. cover all #include with #ifdef >> CONFIG_VIDEO_V4L1_COMPAT in kernel >> >> By this way, we can satisfy both kernel space and userspace issue and >> also get rid of above warnings. >> >> If you have better suggestion then let me know. > > That sounds like it will add a mess of #if's. How about this? > > diff -r 29c5787efcda linux/include/linux/videodev.h > --- a/linux/include/linux/videodev.h Thu Jan 15 09:07:03 2009 -0800 > +++ b/linux/include/linux/videodev.h Wed Jan 21 00:51:45 2009 -0800 > @@ -15,7 +15,8 @@ > #include > #include > > -#if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__) > +#if (defined(__KERNEL__) && defined(CONFIG_VIDEO_V4L1_COMPAT)) \ > + || !defined (__KERNEL__) > > #define VID_TYPE_CAPTURE 1 /* Can capture */ > #define VID_TYPE_TUNER 2 /* Can tune */ > > Now CONFIG_VIDEO_V4L1_COMPAT will only be used in the kernel. > No, this will still give warnings. Please run 'make headers_check' -- JSR -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/