ASoC: au1x: Don't set unused struct snd_pcm_hardware fields
authorLars-Peter Clausen <lars@metafoo.de>
Fri, 20 Dec 2013 13:20:08 +0000 (14:20 +0100)
committerMark Brown <broonie@linaro.org>
Sat, 21 Dec 2013 14:23:20 +0000 (14:23 +0000)
The ASoC core assumes that the PCM component of the ASoC card transparently
moves data around and does not impose any restrictions on the memory layout or
the transfer speed. It ignores all fields from the snd_pcm_hardware struct for
the PCM driver that are related to this. Setting these fields in the PCM driver
might suggest otherwise though, so rather not set them.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Manuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/au1x/dbdma2.c
sound/soc/au1x/dma.c

index 3b4eafa..17a24d8 100644 (file)
@@ -65,19 +65,10 @@ struct au1xpsc_audio_dmadata {
 #define AU1XPSC_PERIOD_MIN_BYTES       1024
 #define AU1XPSC_BUFFER_MIN_BYTES       65536
 
-#define AU1XPSC_PCM_FMTS                                       \
-       (SNDRV_PCM_FMTBIT_S8     | SNDRV_PCM_FMTBIT_U8 |        \
-        SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE |    \
-        SNDRV_PCM_FMTBIT_U16_LE | SNDRV_PCM_FMTBIT_U16_BE |    \
-        SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE |    \
-        SNDRV_PCM_FMTBIT_U32_LE | SNDRV_PCM_FMTBIT_U32_BE |    \
-        0)
-
 /* PCM hardware DMA capabilities - platform specific */
 static const struct snd_pcm_hardware au1xpsc_pcm_hardware = {
        .info             = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID |
                            SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BATCH,
-       .formats          = AU1XPSC_PCM_FMTS,
        .period_bytes_min = AU1XPSC_PERIOD_MIN_BYTES,
        .period_bytes_max = 4096 * 1024 - 1,
        .periods_min      = 2,
index befd107..e920b60 100644 (file)
 
 #include "psc.h"
 
-#define ALCHEMY_PCM_FMTS                                       \
-       (SNDRV_PCM_FMTBIT_S8     | SNDRV_PCM_FMTBIT_U8 |        \
-        SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE |    \
-        SNDRV_PCM_FMTBIT_U16_LE | SNDRV_PCM_FMTBIT_U16_BE |    \
-        SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE |    \
-        SNDRV_PCM_FMTBIT_U32_LE | SNDRV_PCM_FMTBIT_U32_BE |    \
-        0)
-
 struct pcm_period {
        u32 start;
        u32 relative_end;       /* relative to start of buffer */
@@ -171,12 +163,6 @@ static irqreturn_t au1000_dma_interrupt(int irq, void *ptr)
 static const struct snd_pcm_hardware alchemy_pcm_hardware = {
        .info             = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID |
                            SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BATCH,
-       .formats          = ALCHEMY_PCM_FMTS,
-       .rates            = SNDRV_PCM_RATE_8000_192000,
-       .rate_min         = SNDRV_PCM_RATE_8000,
-       .rate_max         = SNDRV_PCM_RATE_192000,
-       .channels_min     = 2,
-       .channels_max     = 2,
        .period_bytes_min = 1024,
        .period_bytes_max = 16 * 1024 - 1,
        .periods_min      = 4,