ALSA: pcm: Simplify check for dma_mmap_coherent() availability
authorTakashi Iwai <tiwai@suse.de>
Mon, 10 Jul 2017 14:05:58 +0000 (16:05 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 10 Jul 2017 14:05:58 +0000 (16:05 +0200)
We check the availability of dma_mmap_coherent() in hw_support_mmap()
but with an ugly ifdef of lots of arch-checks.  Now we have a nice
CONFIG_ARCH_NO_COHERENT_DMA_MMAP kconfig, and this can be used
together with CONFIG_HAS_DMA check for a cleaner and more
comprehensive check.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/pcm_native.c

index b26c7e61d600495d83a42cc799ec3e1e554236ec..2a730f38e37563139b2f35dbb6952854edfdf54a 100644 (file)
@@ -238,10 +238,8 @@ static bool hw_support_mmap(struct snd_pcm_substream *substream)
 {
        if (!(substream->runtime->hw.info & SNDRV_PCM_INFO_MMAP))
                return false;
-       /* check architectures that return -EINVAL from dma_mmap_coherent() */
-       /* FIXME: this should be some global flag */
-#if defined(CONFIG_C6X) || defined(CONFIG_FRV) || defined(CONFIG_MN10300) ||\
-       defined(CONFIG_PARISC) || defined(CONFIG_XTENSA)
+       /* architecture supports dma_mmap_coherent()? */
+#if defined(CONFIG_ARCH_NO_COHERENT_DMA_MMAP) || !defined(CONFIG_HAS_DMA)
        if (!substream->ops->mmap &&
            substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV)
                return false;