Re: [PATCH] dma: vdma: Fix compilation warnings

From: Stephen Rothwell
Date: Mon Mar 30 2015 - 09:11:04 EST


Hi Appana,

On Mon, 30 Mar 2015 11:40:02 +0000 Appana Durga Kedareswara Rao <appana.durga.rao@xxxxxxxxxx> wrote:
>
> > -----Original Message-----
> > From: Stephen Rothwell [mailto:sfr@xxxxxxxxxxxxxxxx]
> > Sent: Monday, March 30, 2015 3:06 PM
> > To: Appana Durga Kedareswara Rao
> > Cc: vinod.koul@xxxxxxxxx; linux-next@xxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx; Anirudha Sarangi; Appana Durga Kedareswara Rao
> > Subject: Re: [PATCH] dma: vdma: Fix compilation warnings
> >
> > Hi Kedareswara,
> >
> > On Mon, 30 Mar 2015 14:30:26 +0530 Kedareswara rao Appana
> > <appana.durga.rao@xxxxxxxxxx> wrote:
> > >
> > > diff --git a/include/linux/dmapool.h b/include/linux/dmapool.h index
> > > 022e34f..01c91bb 100644
> > > --- a/include/linux/dmapool.h
> > > +++ b/include/linux/dmapool.h
> > > @@ -13,6 +13,7 @@
> > >
> > > #include <asm/io.h>
> > > #include <asm/scatterlist.h>
> > > +#include <linux/device.h>
> > >
> > > struct dma_pool *dma_pool_create(const char *name, struct device *dev,
> > > size_t size, size_t align, size_t allocation);
> >
> > This might be to much, all it really needs is a
> >
> > struct device;
> >
> > line ...
>
> Why it is a better solution rather than including header file?
> I didn't get you could you please explain a bit.

When adding an include to an include file, there is always the chance
that you may create a circular include and break some other unrelated
code. In this case the far more unintrusive fix is to just add the
forward declaration of the struct to satisfy the compiler as the actual
definition of the struct is not needed (since only pointers to the
struct are referenced in dmapool.h).

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

Attachment: pgpC01GGYyblp.pgp
Description: OpenPGP digital signature