Re: [PATCH] missing includes from infiniband merge

From: Al Viro
Date: Sun Sep 24 2006 - 15:19:38 EST

On Sun, Sep 24, 2006 at 08:44:47AM +0200, Sam Ravnborg wrote:
> On Sat, Sep 23, 2006 at 09:36:05PM +0100, Al Viro wrote:
> > > A better fix would be to avoid the arch dependency in the non-arch .h
> > > files so that in most cases it just works??
> >
> > What "it"? Use of vmalloc() without including vmalloc.h since on i386
> > it just happens to be pulled via the
> > linux/pci.h -> linux/dmapool.h -> asm-i386/io.h -> linux/vmalloc.h
> > chain?
> The other way around. Try to get rid of the evil includes in arch-$(ASM)
> that is just sitting there for no other purpose than to let a developer skip
> a single include.
> In this case the right fix IMO would have been to kill the include of
> linux/vmalloc.h from asm-i386/io.h and let all users that previously failed
> to include vmalloc.h now do so themself.

> Looking through asm-i386/io.h at fist look there is zero use of
> linux/vmalloc.h so the include has no business there.

There are obvious asm/page.h uses, so just ripping it out won't be enough.
Even for that particular case. And we have shitloads of places were
asm-foo/bar.h genuinely needs linux/baz.h for e.g. implementation of
an inlined helper. With other targets not needing it at all. Would you
mandate including it from every user of asm/foo.h? And maintain such
rules afterwards ("asm/foo.h needs linux/baz.h included before it since
on $WEIRD_TARGET we include asm/unique_turd.h that won't compile unless
linux/baz.h will be aready there").
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at