Re: [PATCH 26/40] dmaengine: sh_rcar-dmac: convert callback to helper function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 15, 2016 at 02:45:20PM +0530, Vinod Koul wrote:
On Fri, Jul 15, 2016 at 10:10:29AM +0300, Laurent Pinchart wrote:
Hi Dave,

Thank you for the patch.

On Thursday 14 Jul 2016 14:59:11 Dave Jiang wrote:
> Convert driver to use the new helper function for callback
>
> Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
> ---
>  drivers/dma/sh/rcar-dmac.c |   14 ++++++--------
>  1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c
> index dfb1792..ca39265 100644
> --- a/drivers/dma/sh/rcar-dmac.c
> +++ b/drivers/dma/sh/rcar-dmac.c
> @@ -1356,21 +1356,18 @@ static irqreturn_t rcar_dmac_isr_channel_thread(int
> irq, void *dev) {
>  	struct rcar_dmac_chan *chan = dev;
>  	struct rcar_dmac_desc *desc;
> +	struct dma_desc_callback cb;
>
>  	spin_lock_irq(&chan->lock);
>
>  	/* For cyclic transfers notify the user after every chunk. */
>  	if (chan->desc.running && chan->desc.running->cyclic) {
> -		dma_async_tx_callback callback;
> -		void *callback_param;
> -
>  		desc = chan->desc.running;
> -		callback = desc->async_tx.callback;
> -		callback_param = desc->async_tx.callback_param;
> +		dmaengine_desc_get_callback(&desc->async_tx, &cb);
>
> -		if (callback) {
> +		if (cb->callback) {

/home/laurent/src/iob/renesas/linux/drivers/dma/sh/rcar-dmac.c: In function
‘rcar_dmac_isr_channel_thread’:
/home/laurent/src/iob/renesas/linux/drivers/dma/sh/rcar-dmac.c:1368:9: error:
invalid type argument of ‘->’ (have ‘struct dma_desc_callback’)
/home/laurent/src/iob/renesas/linux/scripts/Makefile.build:295: recipe for
target 'drivers/dma/sh/rcar-dmac.o' failed
make[4]: *** [drivers/dma/sh/rcar-dmac.o] Error 1
make[4]: *** Waiting for unfinished jobs....

Given that two of the two drivers I tried to compile failed, I think you
should really get an ARM cross-compiler to test the series. They're quite
widely available nowadays :-)

:-)

And am surprised why Fengguang's bot didn't pick this up. Fengguang..?

Sorry 0day bot doesn't see that build error. In which tree/branch does
it happen?

Btw I use crosstool [1] to compile not just arm, but mips and ppc ones in
dmaengine.

Even in arm, compile is bit painful, bunch of drivers need special arch
configs to be able to compile. Multi doesn't seem to compile everything.
Right now I have 5-6 to compile all arm drivers.. :(

[1]: https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/

I'm using crosstool too, when there are no debian cross gcc available.
I'm using these debian gcc packages:

gcc-sh4-linux-gnu
gcc-alpha-linux-gnu
gcc-hppa-linux-gnu
gcc-hppa64-linux-gnu
gcc-m68k-linux-gnu
gcc-sparc64-linux-gnu
gcc-s390x-linux-gnu
gcc-avr
gcc-arm-linux-gnueabi
gcc-arm-linux-gnueabihf
gcc-aarch64-linux-gnu
gcc-mips-linux-gnu
gcc-mipsel-linux-gnu
gcc-mips64-linux-gnuabi64
gcc-mips64el-linux-gnuabi64
gcc-powerpc-linux-gnu
gcc-powerpc64-linux-gnu
gcc-powerpc64le-linux-gnu

gcc-6-aarch64-linux-gnu
gcc-6-arm-linux-gnueabi
gcc-6-arm-linux-gnueabihf
gcc-6-hppa64-linux-gnu
gcc-6-mipsel-linux-gnu
gcc-6-mips-linux-gnu
gcc-6-multilib-mipsel-linux-gnu
gcc-6-multilib-mips-linux-gnu
gcc-6-multilib-powerpc-linux-gnu
gcc-6-multilib-s390x-linux-gnu
gcc-6-powerpc64le-linux-gnu
gcc-6-powerpc-linux-gnu
gcc-6-s390x-linux-gnu


Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux