Re: [PATCH resent] dma: add the freescale-provided MultiChannelDMA driver

From: Philippe De Muyter
Date: Thu Feb 21 2013 - 03:29:56 EST


Hi Vinod,

On Wed, Feb 20, 2013 at 12:01:47PM +0530, Vinod Koul wrote:
> On Mon, Feb 04, 2013 at 06:38:23PM +0100, Philippe De Muyter wrote:
> > This patch adds the (cleaned-up) Freescale-provided MultiChannel DMA
> > driver for ColdFire M54xx and MPC8220 processors.
> >
> > This driver is needed for the ethernet FEC driver of the ColdFire
> > M547x and M548x processors.
> >
> > It is not dmaengine-enabled, but that's not needed for the above FEC driver.
> > I have however installed it in the driver/dma tree as this IP block is not
> > m68k-specific, but freescale-specific, and shared at least between powerpc
> > and coldfire parts (possibly arm-parts as well).
> >
> > The installation in drivers/dma implies a small rule change in
> > drivers/Makefile to enter drivers/dma on CONFIG_DMADEVICES instead
> > of CONFIG_DMAENGINE.
> BIG NAK

Thanks for your answer.

> 1. Please run Checkpath and reread Documentation/CodingStyle, specfically CH4.
> Avoid the CamelCase

I had run checkpatch when I made the patch, but CamelCase was not yet searched
for at that time. I will look at that.

> 2. If you are not using dmaengine APIs then drivers/dma/ is not a place for you.

What would be the place then for a multi-architecture dma driver. Freescale often
reuses the same blocks for its m68k (coldfire), powerpc and arm (iMX) product
lines. A dma driver with many similarities is already under the arch/powerpc
subtree. I would like to avoid that, because it clearly hurts reusability.

> 3. While glancing at the code, I dont see why you cant use dmaengine APIs?

lack of need (the sole current user of this dma driver is a FEC ethernet driver
which uses the current interface), time and expertise. but any help is welcome.

> 4. lastly, am blown off by your own implementation of memcpy, WHY? Kernel is
> smarter than you!

I agree, but don't shoot the messenger. I am not the original author, this is
freescale code. I only ensured that it compiles and works with current kernels,
and suppressed many checkpatch warnings.

Best regards

Philippe
--
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/