Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: cadence-quadspi: fix dma_unmap_single() call

There are separate constants for the dma-mapping API and the dmaengine
API, mixing them up causes a warning in some builds:

In file included from drivers/spi/spi-cadence-quadspi.c:12:
drivers/spi/spi-cadence-quadspi.c: In function 'cqspi_versal_indirect_read_dma':
drivers/spi/spi-cadence-quadspi.c:950:55: error: implicit conversion from 'enum dma_transfer_direction' to 'enum dma_data_direction' [-Werror=enum-conversion]
950 | dma_unmap_single(dev, dma_addr, bytes_to_dma, DMA_DEV_TO_MEM);
| ^~~~~~~~~~~~~~
include/linux/dma-mapping.h:407:70: note: in definition of macro 'dma_unmap_single'
407 | #define dma_unmap_single(d, a, s, r) dma_unmap_single_attrs(d, a, s, r, 0)
| ^

Fixes: 1a6f854f7daa ("spi: cadence-quadspi: Add Xilinx Versal external DMA support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20211013144600.2378037-1-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Arnd Bergmann and committed by
Mark Brown
d9c55c95 7dc9b956

+1 -1
+1 -1
drivers/spi/spi-cadence-quadspi.c
··· 947 947 writel(CQSPI_REG_INDIRECTWR_CANCEL_MASK, 948 948 reg_base + CQSPI_REG_INDIRECTRD); 949 949 950 - dma_unmap_single(dev, dma_addr, bytes_to_dma, DMA_DEV_TO_MEM); 950 + dma_unmap_single(dev, dma_addr, bytes_to_dma, DMA_FROM_DEVICE); 951 951 952 952 reg = readl(cqspi->iobase + CQSPI_REG_CONFIG); 953 953 reg &= ~CQSPI_REG_CONFIG_DMA_MASK;