[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081029160547.GE20456@atomide.com>
Date: Wed, 29 Oct 2008 09:05:49 -0700
From: Tony Lindgren <tony@...mide.com>
To: Russell King - ARM Linux <linux@....linux.org.uk>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>,
Dave Airlie <airlied@...ux.ie>, netdev@...r.kernel.org,
linux-arm-kernel@...ts.arm.linux.org.uk,
Herbert Xu <herbert@...dor.apana.org.au>,
Paul Moore <paul.moore@...com>, Takashi Iwai <tiwai@...e.de>,
Pekka Enberg <penberg@...helsinki.fi>, xfs-masters@....sgi.com
Subject: Re: linux-next: arm allmodconfig
* Russell King - ARM Linux <linux@....linux.org.uk> [081029 02:59]:
> On Tue, Oct 28, 2008 at 05:56:04PM -0700, Andrew Morton wrote:
<snip>
>
> > > drivers/atm/ambassador.h:257:1: warning: "FLASH_BASE" redefined
> > > In file included from arch/arm/mach-versatile/include/mach/irqs.h:22,
> > > from /usr/src/devel/arch/arm/include/asm/irq.h:4,
> > > from /usr/src/devel/arch/arm/include/asm/hardirq.h:6,
> > > from include/linux/hardirq.h:7,
> > > from include/asm-generic/local.h:5,
> > > from /usr/src/devel/arch/arm/include/asm/local.h:1,
> > > from include/linux/module.h:20,
> > > from drivers/atm/ambassador.c:25:
> > > arch/arm/mach-versatile/include/mach/platform.h:443:1: warning: this is the location of the previous definition
> > > In file included from drivers/atm/ambassador.c:44:
> > > drivers/atm/ambassador.h:258:1: warning: "FLASH_SIZE" redefined
>
> Here we go again...
>
> I do wish that people wouldn't include "platform.h" headers defining lots
> of generically named constants into a header file used by most of the
> kernel build. It's stupid for several reasons:
>
> 1. see the above warnings.
> 2. if you change anything in that header, you're going to get a needless
> full kernel rebuild
> 3. and that causes additional strain on kautobuild's build caches
>
> We've had this in the past with sa1100-regs.h and similar, and we solved
> it there.
>
> Unfortunately, people persist in including their platform includes into
> lots of header files rather than having just the relevent C files include
> them. Eg, arch/arm/plat-omap/include/mach/hardware.h:
>
> /*
> * ---------------------------------------------------------------------------
> * Board specific defines
> * ---------------------------------------------------------------------------
> */
>
> #ifdef CONFIG_MACH_OMAP_INNOVATOR
> #include "board-innovator.h"
> #endif
>
> #ifdef CONFIG_MACH_OMAP_H2
> #include "board-h2.h"
> #endif
> ...
> #ifdef CONFIG_MACH_SX1
> #include "board-sx1.h"
> #endif
>
> which is included via asm/io.h, asm/irq.h, asm/pci.h, asm/vga.h.
>
> As long as this idiocracy, we're going to see these kinds of clashes.
> This stuff needs to die. I've a good idea to do a sweep of all ARM
> includes, and commit a patch to my devel tree for linux-next to remove
> such includes as an encouragement to fixing this stuff properly.
>
> People will then have a couple of months to sort out their mess.
I'll remove those omap includes, I have few other patches pending before
I get to that though.
Cheers,
Tony
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists