From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755813Ab2JPX4Y (ORCPT ); Tue, 16 Oct 2012 19:56:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60556 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755589Ab2JPX4X (ORCPT ); Tue, 16 Oct 2012 19:56:23 -0400 Organization: Red Hat UK Ltd. Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 3798903 From: David Howells In-Reply-To: References: <1350085772-8755-1-git-send-email-mcgrof@do-not-panic.com> <3084988.3Xup6S3alX@avalon> <5298100.2jQ2j2jhxN@avalon> To: "Luis R. Rodriguez" Cc: dhowells@redhat.com, Laurent Pinchart , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, backports@vger.kernel.org, rob@ti.com, arnd@arndb.de, davej@redhat.com, airlied@linux.ie, bskeggs@redhat.com, alan@lxorguk.ukuu.org.uk, tglx@linutronix.de, daniel.vetter@ffwll.ch, jbarnes@virtuousgeek.org, alexander.deucher@amd.com, paulmck@linux.vnet.ibm.com, gregkh@linuxfoundation.org Subject: Re: [PATCH 1/2] uapi: update includes for drm content when no kernel API exists Date: Wed, 17 Oct 2012 00:27:30 +0100 Message-ID: <7756.1350430050@warthog.procyon.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Luis R. Rodriguez wrote: > >> The include_next trick can work as well but that'd mean synching the UAPI > >> files regularly into compat. I'd much prefer to have code intact when > >> possible when backporting so the option I stuck with then was to patch > >> the code directly and then as part of compat-drivers to always copy > >> that day's linux-next UAPI headers into the current directory for > >> compilation. I see no other driver code using the uapi path explicitly > >> though, is that by design? > > > > As far as I understand that's by design, yes. Kernel code isn't expected to > > reference uapi/ headers directly. > > Did the design consider the case where no respective kernel API header > file would ever exist? I didn't particularly design it such that kernel .c files couldn't access uapi .h files directly. I did, however, design it so that my scripts wouldn't have to touch any .c files where possible, and certainly I didn't want to have to double up all #includes that refer to KAPI/UAPI split headers. Ideally, I'd've used #include_next in the KAPI file to refer to the UAPI file where both exist, but some people have strong objections to that, so I ended up having to do #include instead. I also didn't want to rename the asm/, linux/, etc. prefixes as that would mandate changing pretty much every #include in the kernel. For the case where no respective KAPI file exists, it was considered and it is handled. This is done by adding extra -I flags, for example: -I include -I include/uapi so looking for linux/foo.h, say, will look first for include/linux/foo.h and then for include/uapi/linux/foo.h. David