Re: [PATCH 9/9 v3] dma: shdma: convert to the shdma base library

From: Guennadi Liakhovetski
Date: Thu Jul 26 2012 - 17:39:24 EST


On Thu, 26 Jul 2012, Vinod Koul wrote:

> On Thu, 2012-07-26 at 15:58 +0900, Paul Mundt wrote:
> > On Thu, Jul 26, 2012 at 12:19:21PM +0530, Vinod Koul wrote:
> > > On Wed, 2012-07-25 at 12:59 +0900, Paul Mundt wrote:
> > > > On Wed, May 09, 2012 at 05:09:21PM +0200, Guennadi Liakhovetski wrote:
> > > > > The shdma base library has originally been extracted from the shdma driver,
> > > > > which now can be converted to actually use it.
> > > > >
> > > > > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
> > > > > ---
> > > > > drivers/dma/sh/shdma.c | 1122 ++++++++++++------------------------------------
> > > > > drivers/dma/sh/shdma.h | 44 +-
> > > > > include/linux/sh_dma.h | 33 +-
> > > > > 3 files changed, 302 insertions(+), 897 deletions(-)
> > > > >
> > > > Now that this has hit mainline, the sh-sci with DMA enabled build is
> > > > broken:
> > > >
> > > > CC drivers/tty/serial/sh-sci.o
> > > > drivers/tty/serial/sh-sci.c: In function 'work_fn_rx':
> > > > drivers/tty/serial/sh-sci.c:1413:67: error: dereferencing pointer to incomplete type
> > > > drivers/tty/serial/sh-sci.c:1413:81: warning: type defaults to 'int' in declaration of '__mptr'
> > > > drivers/tty/serial/sh-sci.c:1413:90: warning: initialization from incompatible pointer type
> > > > drivers/tty/serial/sh-sci.c:1413:161: error: invalid use of undefined type 'struct sh_desc'
> > > > drivers/tty/serial/sh-sci.c:1419:83: error: dereferencing pointer to incomplete type
> > > > drivers/tty/serial/sh-sci.c:1419:101: error: dereferencing pointer to incomplete type
> > > > drivers/tty/serial/sh-sci.c:1423:42: error: dereferencing pointer to incomplete type
> > > This was in -next for quite some time :(
> > >
> > It seems we don't have any configs that have this default-enabled under
> > -next, so it wasn't noticed before. Still, as Guennadi wrote this code
> > I'm surprised it was overlooked.
> So did my script :(
>
>
> I tried checking this, struct sh_desc have moved to struct shdma_desc in
> shdma-base.h. But the field partial was dropped, so we need to use
> residue here. But, shdma or base doesn't calculate residue for err
> transactions, so you cannot use it to start a new one.

Hi Vinod, Paul

I'm on a holiday ATM, coming back late Saturday / Sunday. I'll have a look
at this breakage ASAP and submit a fix.

Thank
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
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/