On 11/07/2016 08:55 PM, Arnd Bergmann wrote: >> diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c >> > index d5c75c8..0d1eb2e 100644 >> > --- a/drivers/dma/amba-pl08x.c >> > +++ b/drivers/dma/amba-pl08x.c >> > @@ -1793,6 +1793,23 @@ bool pl08x_filter_id(struct dma_chan *chan, void *chan_id) >> > } [...] >> > +static bool pl08x_filter_fn(struct dma_chan *chan, void *chan_id) >> > +{ >> > + struct pl08x_dma_chan *plchan; [...] >> > + plchan = to_pl08x_chan(chan); >> > + >> > + /* Check that the channel is not taken! */ >> > + if (plchan->cd == chan_id) >> > + return true; > > What I had in mind was a bit different: Instead of comparing the > channel, I was thinking of modifying the channel itself, something > like: > > plchan->signal = chan_id->signal; > plchan->periph_buses = chan_id->periph_buses; > > after that, remove the plchan->cd data. Unfortunately, the muxing in > arch/arm/mach-spear/ makes this a bit harder. I'd have to think > about it some more. It may be easier to do this after moving > spear and lpc32xx over to use dma_slave_map. I've posted updated version of this patch, please let me know if you have any further comments. -- Thanks, Sylwester -- 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