ASoC: stm32: sai: fix iec958 controls indexation

[ Upstream commit 5f8a1000c3 ]

Allow indexation of sai iec958 controls according
to device id.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Olivier Moysan
2019-02-28 14:19:21 +01:00
committed by Greg Kroah-Hartman
parent 6544b49661
commit 2aeceaaff0

View File

@@ -96,7 +96,7 @@
* @slot_mask: rx or tx active slots mask. set at init or at runtime
* @data_size: PCM data width. corresponds to PCM substream width.
* @spdif_frm_cnt: S/PDIF playback frame counter
* @snd_aes_iec958: iec958 data
* @iec958: iec958 data
* @ctrl_lock: control lock
*/
struct stm32_sai_sub_data {
@@ -888,11 +888,12 @@ static int stm32_sai_pcm_new(struct snd_soc_pcm_runtime *rtd,
struct snd_soc_dai *cpu_dai)
{
struct stm32_sai_sub_data *sai = dev_get_drvdata(cpu_dai->dev);
struct snd_kcontrol_new knew = iec958_ctls;
if (STM_SAI_PROTOCOL_IS_SPDIF(sai)) {
dev_dbg(&sai->pdev->dev, "%s: register iec controls", __func__);
return snd_ctl_add(rtd->pcm->card,
snd_ctl_new1(&iec958_ctls, sai));
knew.device = rtd->pcm->device;
return snd_ctl_add(rtd->pcm->card, snd_ctl_new1(&knew, sai));
}
return 0;