Re: [PATCH] fsldma: fix missing header include

From: Andrew Morton
Date: Fri Sep 03 2010 - 20:54:13 EST


On Fri, 3 Sep 2010 17:47:24 -0700 "Ira W. Snyder" <iws@xxxxxxxxxxxxxxxx> wrote:

> On Fri, Sep 03, 2010 at 04:40:33PM -0700, Andrew Morton wrote:
> > On Thu, 2 Sep 2010 12:47:52 -0700
> > "Ira W. Snyder" <iws@xxxxxxxxxxxxxxxx> wrote:
> >
> > > The slab.h header is required to use the kmalloc() family of functions.
> > > Due to recent kernel changes, this header must be directly included by
> > > code that calls into the memory allocator.
> > >
> > > Signed-off-by: Ira W. Snyder <iws@xxxxxxxxxxxxxxxx>
> > > ---
> > >
> > > Without this patch, any code which includes this header fails to build.
> > >
> > > arch/powerpc/include/asm/fsldma.h | 1 +
> > > 1 files changed, 1 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/arch/powerpc/include/asm/fsldma.h b/arch/powerpc/include/asm/fsldma.h
> > > index a67aeed..debc5ed 100644
> > > --- a/arch/powerpc/include/asm/fsldma.h
> > > +++ b/arch/powerpc/include/asm/fsldma.h
> > > @@ -11,6 +11,7 @@
> > > #ifndef __ARCH_POWERPC_ASM_FSLDMA_H__
> > > #define __ARCH_POWERPC_ASM_FSLDMA_H__
> > >
> > > +#include <linux/slab.h>
> > > #include <linux/dmaengine.h>
> > >
> >
> > It also needs list.h, but appears to get it via sheer luck.
> >
> > The functions in that header simply shouldn't have been inlined.
> >
> > It's peculiar that fsl_dma_slave_append() hardwires GFP_ATOMIC, whereas
> > fsl_dma_slave_alloc() takes a gfp_t.
> >
>
> Would you like a patch that moves the functions to drivers/dma/fsldma.c
> and EXPORT_SYMBOL_GPL()'s them?

Sure, thanks. Then I can harrass Dan with it ;)

> I don't know the consequences to doing
> so, which is why I avoided it when I wrote
> arch/powerpc/include/asm/fsldma.h.

The minimal fix for the bug was appropriate.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/