On 07/08/2013 03:29 PM, Richard Genoud wrote:
[...]
> +/*
> + * Logic for a wm8731 as connected on a at91sam9x5 based board.
> + */
> +static int at91sam9x5ek_wm8731_init(struct snd_soc_pcm_runtime *rtd)
> +{
[...]
> +     codec_dai->driver->playback.rates &= SNDRV_PCM_RATE_8000 |
> +             SNDRV_PCM_RATE_32000 |
> +             SNDRV_PCM_RATE_48000 |
> +             SNDRV_PCM_RATE_96000;
> +     codec_dai->driver->capture.rates &= SNDRV_PCM_RATE_8000 |
> +             SNDRV_PCM_RATE_32000 |
> +             SNDRV_PCM_RATE_48000 |
> +             SNDRV_PCM_RATE_96000;

That's not right. The driver structure is shared between all instances of
the codec, a single instance should not modify it. If you need to constrain
the list of supported rates use snd_pcm_hw_constraint_list().

> +
> +     /* set the codec system clock for DAC and ADC */
> +     ret = snd_soc_dai_set_sysclk(codec_dai, WM8731_SYSCLK_XTAL,
> +                                  MCLK_RATE, SND_SOC_CLOCK_IN);
> +     if (ret < 0) {
> +             dev_err(dev, "ASoC: Failed to set WM8731 SYSCLK: %d\n", ret);
> +             return ret;
> +     }
> +
> +     /* signal a DAPM event */
> +     snd_soc_dapm_sync(dapm);

This should not be necessary.

> +     return 0;
> +}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to