]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - sound/soc/pxa/pxa2xx-ac97.c
ASoC: Each PXA AC97 DAI needs a separate ops
[linux-2.6-omap-h63xx.git] / sound / soc / pxa / pxa2xx-ac97.c
index cf809049272afff65ac85d096f680c5beff47352..01c21c6cdbbc2dd815f944f1b2df351f2b10ebec 100644 (file)
@@ -164,10 +164,18 @@ static int pxa2xx_ac97_hw_mic_params(struct snd_pcm_substream *substream,
                SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_44100 | \
                SNDRV_PCM_RATE_48000)
 
-static struct snd_soc_dai_ops pxa_ac97_dai_ops = {
+static struct snd_soc_dai_ops pxa_ac97_hifi_dai_ops = {
        .hw_params      = pxa2xx_ac97_hw_params,
 };
 
+static struct snd_soc_dai_ops pxa_ac97_aux_dai_ops = {
+       .hw_params      = pxa2xx_ac97_hw_aux_params,
+};
+
+static struct snd_soc_dai_ops pxa_ac97_mic_dai_ops = {
+       .hw_params      = pxa2xx_ac97_hw_mic_params,
+};
+
 /*
  * There is only 1 physical AC97 interface for pxa2xx, but it
  * has extra fifo's that can be used for aux DACs and ADCs.
@@ -193,7 +201,7 @@ struct snd_soc_dai pxa_ac97_dai[] = {
                .channels_max = 2,
                .rates = PXA2XX_AC97_RATES,
                .formats = SNDRV_PCM_FMTBIT_S16_LE,},
-       .ops = &pxa_ac97_dai_ops,
+       .ops = &pxa_ac97_hifi_dai_ops,
 },
 {
        .name = "pxa2xx-ac97-aux",
@@ -211,7 +219,7 @@ struct snd_soc_dai pxa_ac97_dai[] = {
                .channels_max = 1,
                .rates = PXA2XX_AC97_RATES,
                .formats = SNDRV_PCM_FMTBIT_S16_LE,},
-       .ops = &pxa_ac97_dai_ops,
+       .ops = &pxa_ac97_aux_dai_ops,
 },
 {
        .name = "pxa2xx-ac97-mic",
@@ -223,7 +231,7 @@ struct snd_soc_dai pxa_ac97_dai[] = {
                .channels_max = 1,
                .rates = PXA2XX_AC97_RATES,
                .formats = SNDRV_PCM_FMTBIT_S16_LE,},
-       .ops = &pxa_ac97_dai_ops,
+       .ops = &pxa_ac97_mic_dai_ops,
 },
 };