ASoC: sh: Fix dma direction type
authorLars-Peter Clausen <lars@metafoo.de>
Sun, 17 Aug 2014 14:18:20 +0000 (16:18 +0200)
committerMark Brown <broonie@linaro.org>
Sun, 17 Aug 2014 14:34:05 +0000 (09:34 -0500)
dmaengine_prep_slave_single() expects a enum dma_transfer_direction and not a
enum dma_data_direction. Since the integer representations of both DMA_TO_DEVICE
and DMA_MEM_TO_DEV aswell as DMA_FROM_DEVICE and DMA_DEV_TO_MEM have the same
value the code worked fine even though it was using the wrong type.

Fixes the following warnings from sparse:
sound/soc/sh/fsi.c:1307:42: warning: mixing different enum types
sound/soc/sh/fsi.c:1307:42:     int enum dma_data_direction  versus
sound/soc/sh/fsi.c:1307:42:     int enum dma_transfer_direction

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/sh/fsi.c

index c76344350e44421925702139e6acd00db8e560eb..66fddec9543d0ecc1bb414871d035bc244abc521 100644 (file)
@@ -1297,9 +1297,14 @@ static int fsi_dma_transfer(struct fsi_priv *fsi, struct fsi_stream *io)
        struct snd_pcm_substream *substream = io->substream;
        struct dma_async_tx_descriptor *desc;
        int is_play = fsi_stream_is_play(fsi, io);
-       enum dma_data_direction dir = is_play ? DMA_TO_DEVICE : DMA_FROM_DEVICE;
+       enum dma_transfer_direction dir;
        int ret = -EIO;
 
+       if (is_play)
+               dir = DMA_MEM_TO_DEV;
+       else
+               dir = DMA_DEV_TO_MEM;
+
        desc = dmaengine_prep_dma_cyclic(io->chan,
                                         substream->runtime->dma_addr,
                                         snd_pcm_lib_buffer_bytes(substream),