From: Vinod Koul <vinod.koul@intel.com>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Kedareswara rao Appana <appana.durga.rao@xilinx.com>,
linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
anirudh@xilinx.com, Kedareswara rao Appana <appanad@xilinx.com>
Subject: Re: [PATCH v2] dma: vdma: Fix compilation warnings
Date: Tue, 31 Mar 2015 10:27:59 +0530 [thread overview]
Message-ID: <20150331045759.GP7192@intel.com> (raw)
In-Reply-To: <20150331073543.0d885c65@canb.auug.org.au>
[-- Attachment #1: Type: text/plain, Size: 3176 bytes --]
On Tue, Mar 31, 2015 at 07:35:43AM +1100, Stephen Rothwell wrote:
Hi Stephen,
>
> On Mon, 30 Mar 2015 22:48:46 +0530 Vinod Koul <vinod.koul@intel.com> wrote:
> >
> > On Mon, Mar 30, 2015 at 06:48:29PM +0530, Kedareswara rao Appana wrote:
> > > This patch fixes the following compilation warnings.
> > > In file included from drivers/dma/xilinx/xilinx_vdma.c:26:0:
> > > include/linux/dmapool.h:18:4: warning: 'struct device' declared inside parameter list
> > > size_t size, size_t align, size_t allocation);
> > > ^
> > > include/linux/dmapool.h:18:4: warning: its scope is only this definition or declaration, which is probably not what you want
> > > include/linux/dmapool.h:31:7: warning: 'struct device' declared inside parameter list
> > > size_t size, size_t align, size_t allocation);
> > > ^
> > > drivers/dma/xilinx/xilinx_vdma.c: In function 'xilinx_vdma_alloc_chan_resources':
> > > drivers/dma/xilinx/xilinx_vdma.c:501:20: warning: passing argument 2 of 'dma_pool_create' from incompatible pointer type
> > > chan->desc_pool = dma_pool_create("xilinx_vdma_desc_pool",
> > > ^
> > > In file included from drivers/dma/xilinx/xilinx_vdma.c:26:0:
> > > include/linux/dmapool.h:17:18: note: expected 'struct device *' but argument is of type 'struct device *'
> > > struct dma_pool *dma_pool_create(const char *name, struct device *dev, .
> > >
> > Well this does fix this error but this can also be fixed by rearranging the
> > driver header files order. Since I am not inclined to update a patch for
> > dmapool.h I would go for rearranging drivers header
> >
> > --><8---------------><8--------------
> >
> > diff --git a/drivers/dma/xilinx/xilinx_vdma.c
> > b/drivers/dma/xilinx/xilinx_vdma.c
> > index d8434d465885..356ca4bc0ea5 100644
> > --- a/drivers/dma/xilinx/xilinx_vdma.c
> > +++ b/drivers/dma/xilinx/xilinx_vdma.c
> > @@ -23,12 +23,12 @@
> > */
> >
> > #include <linux/bitops.h>
> > -#include <linux/dmapool.h>
> > #include <linux/dma/xilinx_dma.h>
> > #include <linux/init.h>
> > #include <linux/interrupt.h>
> > #include <linux/io.h>
> > #include <linux/module.h>
> > +#include <linux/dmapool.h>
> > #include <linux/of_address.h>
> > #include <linux/of_dma.h>
> > #include <linux/of_platform.h>
> >
> > Any objections?
>
> Yes. The error is in dmapool.h so it should be fixed once and for
> all. The supplied patch is very unintrusive and means that the problem
> won't reappear when someone does some rearrangement of includes in the
> future. The file in question really has no particular maintainer.
> Even after your suggested patch, dmapool.h still depend on an implicit
> include of device.h.
I agree with your points, but isnt the order of headers also a thumb rule.
Typicaly a driver file will include core includes followed by subsystem
specfic includes.
Should a header have no dependency for its include ? I do come across
multiple examples of this in kernel
Yes fixing it in dmapool is also correct, so should we move to having
headers agnostic to the order of inclusion eventually ?
Thanks
--
~Vinod
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2015-03-31 5:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-30 13:18 [PATCH v2] dma: vdma: Fix compilation warnings Kedareswara rao Appana
2015-03-30 13:18 ` Kedareswara rao Appana
2015-03-30 17:18 ` Vinod Koul
2015-03-30 20:35 ` Stephen Rothwell
2015-03-31 4:57 ` Vinod Koul [this message]
2015-04-17 17:49 ` Vinod Koul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150331045759.GP7192@intel.com \
--to=vinod.koul@intel.com \
--cc=anirudh@xilinx.com \
--cc=appana.durga.rao@xilinx.com \
--cc=appanad@xilinx.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.