Skip to content

Commit

Permalink
Mute bug fix for the Audioinjector.net isolated soundcard.
Browse files Browse the repository at this point in the history
  • Loading branch information
flatmax authored and pelwell committed Jul 17, 2020
1 parent 91e8721 commit 3e92327
Showing 1 changed file with 3 additions and 23 deletions.
26 changes: 3 additions & 23 deletions sound/soc/bcm/audioinjector-isolated-soundcard.c
Expand Up @@ -42,41 +42,20 @@ static int audioinjector_isolated_dai_init(struct snd_soc_pcm_runtime *rtd)
int ret=snd_soc_dai_set_sysclk(rtd->codec_dai, 0, 24576000, 0);
if (ret)
return ret;

return snd_soc_dai_set_bclk_ratio(rtd->cpu_dai, 64);
}

static int audioinjector_isolated_startup(struct snd_pcm_substream *substream)
{
snd_pcm_hw_constraint_list(substream->runtime, 0,
SNDRV_PCM_HW_PARAM_RATE, &audioinjector_isolated_constraints);

return 0;
}
SNDRV_PCM_HW_PARAM_RATE, &audioinjector_isolated_constraints);

static int audioinjector_isolated_trigger(struct snd_pcm_substream *substream,
int cmd){

switch (cmd) {
case SNDRV_PCM_TRIGGER_STOP:
case SNDRV_PCM_TRIGGER_SUSPEND:
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
gpiod_set_value(mute_gpio, 0);
break;
case SNDRV_PCM_TRIGGER_START:
case SNDRV_PCM_TRIGGER_RESUME:
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
gpiod_set_value(mute_gpio, 1);
break;
default:
return -EINVAL;
}
gpiod_set_value(mute_gpio, 1);
return 0;
}

static struct snd_soc_ops audioinjector_isolated_ops = {
.startup = audioinjector_isolated_startup,
.trigger = audioinjector_isolated_trigger,
};

SND_SOC_DAILINK_DEFS(audioinjector_isolated,
Expand Down Expand Up @@ -153,6 +132,7 @@ static int audioinjector_isolated_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "mute gpio not found in dt overlay\n");
return PTR_ERR(mute_gpio);
}
gpiod_set_value(mute_gpio, 0);
}

ret = devm_snd_soc_register_card(&pdev->dev, card);
Expand Down

0 comments on commit 3e92327

Please sign in to comment.