- Kill the channel tasklet before removal to prevent a race with
the IRQ handler.
- Check the return value of dma_async_device_register() instead
of silently returning success.
- Replace the powerpc-specific I/O accessors with portable
generic ones so the driver can be built on non-powerpc
architectures.
Build-tested with LLVM=1 ARCH=powerpc allmodconfig
v3: even more sashiko fixes
v2: add extra fixes to satisfy sashiko
Rosen Penev (15):
dmaengine: fsldma: kill tasklet before removing channel
dmaengine: fsldma: drop desc_lock before invoking client callback
dmaengine: fsldma: halt DMA engine before freeing resources
dmaengine: fsldma: provide device_release callback
dmaengine: fsldma: check dma_async_device_register() return value
dmaengine: fsldma: fix probe error path not freeing IRQs
dmaengine: fsldma: fix request_irqs unwind freeing unregistered IRQ
dmaengine: fsldma: convert to platform_get_irq_optional()
dmaengine: fsldma: use devm for kzalloc()
dmaengine: fsldma: use devm_platform_ioremap_resource()
dmaengine: fsldma: convert channel allocation to devm_kzalloc()
dmaengine: fsldma: use devm for of_iomap()
dmaengine: fsldma: replace irq_of_parse_and_map with of_irq_get
dmaengine: fsldma: replace ppc-specific accessors with portable
generic ones
dmaengine: fsldma: fix kernel-doc param names to match function
signatures
drivers/dma/Kconfig | 2 +-
drivers/dma/fsldma.c | 253 +++++++++++++++++++++++--------------------
drivers/dma/fsldma.h | 35 +++++-
3 files changed, 167 insertions(+), 123 deletions(-)
--
2.54.0