lkml.org 
[lkml]   [2006]   [Sep]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] missing includes from infiniband merge
    On Sat, Sep 23, 2006 at 09:36:05PM +0100, Al Viro wrote:
    > On Sat, Sep 23, 2006 at 10:29:12PM +0200, Sam Ravnborg wrote:
    > > On Sat, Sep 23, 2006 at 04:44:16PM +0100, Al Viro wrote:
    > > > indirect chains of includes are arch-specific and can't
    > > > be relied upon... (hell, even attempt to build it for
    > > > itanic would trigger vmalloc.h ones; err.h triggers
    > > > on e.g. alpha).
    > > >
    > > > Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    > > > ---
    > > > drivers/infiniband/core/mad_priv.h | 1 +
    > > > drivers/infiniband/hw/amso1100/c2_provider.c | 1 +
    > > > drivers/infiniband/hw/amso1100/c2_rnic.c | 1 +
    > > > drivers/infiniband/hw/ipath/ipath_diag.c | 1 +
    > > > 4 files changed, 4 insertions(+), 0 deletions(-)
    > > 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?

    BTW, to do what you suggest we would mean the following:

    let H(arch,foo) = {bar | asm-arch/foo.h pulls asm-arch/bar.h via chain that
    doesn't include linux/*}
    let M(arch,foo) = {baz | asm-arch/bar.h includes linux/baz.h for some bar in
    H(arch,foo)}
    let L(foo) = union of M(arch,foo) by all arch.
    make sure that for each arch and for each bar in L(foo) we have asm-arch/foo.h
    pulling linux/bar.h

    Have fun doing that and maintaining the results. Note that addition of
    include between asm-weird-crap/foo.h and asm-weird-crap/bar.h will require
    changes all over the place in asm-*/* - not only for asm-*/foo.h.

    It won't be pretty, it will be hell to even try to clean dependencies
    _and_ it will break all the time due to ordering requirements.
    -
    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/

    \
     
     \ /
      Last update: 2006-09-23 22:57    [W:0.023 / U:30.720 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site