forked from Minki/linux
ASoC: omap: Use single hw_params callback in sdp3430 and zoom2
There is no need to use two hw_params callbacks in sdp3430 and zoom2 as thet are now identical. Use instead the same snd_soc_ops structure and hw_params callback for both DAI links. Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com> Cc: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
cf9feff28f
commit
a3c6dac201
@ -70,28 +70,6 @@ static struct snd_soc_ops sdp3430_ops = {
|
|||||||
.hw_params = sdp3430_hw_params,
|
.hw_params = sdp3430_hw_params,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int sdp3430_hw_voice_params(struct snd_pcm_substream *substream,
|
|
||||||
struct snd_pcm_hw_params *params)
|
|
||||||
{
|
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
|
||||||
struct snd_soc_dai *codec_dai = rtd->codec_dai;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
/* Set the codec system clock for DAC and ADC */
|
|
||||||
ret = snd_soc_dai_set_sysclk(codec_dai, 0, 26000000,
|
|
||||||
SND_SOC_CLOCK_IN);
|
|
||||||
if (ret < 0) {
|
|
||||||
printk(KERN_ERR "can't set codec system clock\n");
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct snd_soc_ops sdp3430_voice_ops = {
|
|
||||||
.hw_params = sdp3430_hw_voice_params,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Headset jack */
|
/* Headset jack */
|
||||||
static struct snd_soc_jack hs_jack;
|
static struct snd_soc_jack hs_jack;
|
||||||
|
|
||||||
@ -240,7 +218,7 @@ static struct snd_soc_dai_link sdp3430_dai[] = {
|
|||||||
.dai_fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF |
|
.dai_fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF |
|
||||||
SND_SOC_DAIFMT_CBM_CFM,
|
SND_SOC_DAIFMT_CBM_CFM,
|
||||||
.init = sdp3430_twl4030_voice_init,
|
.init = sdp3430_twl4030_voice_init,
|
||||||
.ops = &sdp3430_voice_ops,
|
.ops = &sdp3430_ops,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -61,28 +61,6 @@ static struct snd_soc_ops zoom2_ops = {
|
|||||||
.hw_params = zoom2_hw_params,
|
.hw_params = zoom2_hw_params,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int zoom2_hw_voice_params(struct snd_pcm_substream *substream,
|
|
||||||
struct snd_pcm_hw_params *params)
|
|
||||||
{
|
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
|
||||||
struct snd_soc_dai *codec_dai = rtd->codec_dai;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
/* Set the codec system clock for DAC and ADC */
|
|
||||||
ret = snd_soc_dai_set_sysclk(codec_dai, 0, 26000000,
|
|
||||||
SND_SOC_CLOCK_IN);
|
|
||||||
if (ret < 0) {
|
|
||||||
printk(KERN_ERR "can't set codec system clock\n");
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct snd_soc_ops zoom2_voice_ops = {
|
|
||||||
.hw_params = zoom2_hw_voice_params,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Zoom2 machine DAPM */
|
/* Zoom2 machine DAPM */
|
||||||
static const struct snd_soc_dapm_widget zoom2_twl4030_dapm_widgets[] = {
|
static const struct snd_soc_dapm_widget zoom2_twl4030_dapm_widgets[] = {
|
||||||
SND_SOC_DAPM_MIC("Ext Mic", NULL),
|
SND_SOC_DAPM_MIC("Ext Mic", NULL),
|
||||||
@ -190,7 +168,7 @@ static struct snd_soc_dai_link zoom2_dai[] = {
|
|||||||
.dai_fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF |
|
.dai_fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF |
|
||||||
SND_SOC_DAIFMT_CBM_CFM,
|
SND_SOC_DAIFMT_CBM_CFM,
|
||||||
.init = zoom2_twl4030_voice_init,
|
.init = zoom2_twl4030_voice_init,
|
||||||
.ops = &zoom2_voice_ops,
|
.ops = &zoom2_ops,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user