Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932182AbWJWQxN (ORCPT ); Mon, 23 Oct 2006 12:53:13 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932185AbWJWQxN (ORCPT ); Mon, 23 Oct 2006 12:53:13 -0400 Received: from witte.sonytel.be ([80.88.33.193]:25257 "EHLO witte.sonytel.be") by vger.kernel.org with ESMTP id S932182AbWJWQxM (ORCPT ); Mon, 23 Oct 2006 12:53:12 -0400 Date: Mon, 23 Oct 2006 18:52:39 +0200 (CEST) From: Geert Uytterhoeven To: Linus Torvalds cc: Andi Kleen , Randy Dunlap , Stefan Richter , Al Viro , Alexey Dobriyan , Linux Kernel Development , linux-arch@vger.kernel.org Subject: Re: dealing with excessive includes In-Reply-To: Message-ID: References: <20061017005025.GF29920@ftp.linux.org.uk> <20061020091302.a2a85fb1.rdunlap@xenotime.net> <200610230059.23806.ak@suse.de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1913 Lines: 49 On Mon, 23 Oct 2006, Linus Torvalds wrote: > On Mon, 23 Oct 2006, Geert Uytterhoeven wrote: > > > We have tons of issues that depend on config variables and architecture > > > details. > > > > Indeed, so the config variables and architecture details should be handled in > > the include files, not in the (multiple) users of those include files. > > The point is - _verifying_ that is actually hard. > > If some inline function depends on a particular header, you'll have a hard > time checking for that if there's an #ifdef around it. Which is not > uncommon, we have things like: > > #ifdef CONFIG_PROCFS > .. number of inline functions .. > #else > #define function1(a,b,c) do { } while (0) > ... > #endif > > so I'm just saying that "just compile it" is _not_ a way of verifying that > the header file is complete - because it may well be complete for the > particular config you're testing, but not for some other. > > So this is a hard problem. If it was easy, we'd not _have_ the problem in > the first place. I agree _verifying_ this for all config and arch combinations is hard. But my point is that right now we're `solving' this at the user (of the include) level, which is an order of magnitude more work. If the includes were (sufficiently) self-contained, the driver writers would have to care less about config/arch dependencies. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds - 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/