Currently it is not possible to use the Xilinx DMA driver as a backend for IIO drivers. Setting up IIO DMA buffers with devm_iio_dmaengine_buffer_setup() fails because dma_get_slave_caps() always returns -ENXIO. The reason is that the Xilinx DMA driver does not set the directions field in struct dma_device, which is checked in dma_get_slave_caps(). This patch fixes this issue. It basically is a partial resend of this patch [1], modified to apply on dmaengine->next. It was discussed back in 2018 in this thread [2]. As I'm quite new to the kernel dev process, I'm not sure if I should have included any tags to give credit to the original patch author. [1]: https://patchwork.kernel.org/project/linux-dmaengine/patch/1514961731-1916-2-git-send-email-appanad@xxxxxxxxxx/ [2]: https://lore.kernel.org/lkml/20180111062111.GH18649@localhost/T/ Folker Schwesinger (1): dmaengine: xilinx_dma: Set dma_device.directions drivers/dma/xilinx/xilinx_dma.c | 2 ++ 1 file changed, 2 insertions(+) base-commit: 6565439894570a07b00dba0b739729fe6b56fba4 -- 2.48.1