[2/3] ASoC: max98357a: Specify digital input as a dapm widget
diff mbox

Message ID 1436684202-16461-2-git-send-email-anatol.pomozov@gmail.com
State New
Headers show

Commit Message

Anatol Pomozov July 12, 2015, 6:56 a.m. UTC
Spec does not say anything about DAC called SDMode.
Create a dapm path that consists of path from I2S input to Speaker output.

Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
---
 sound/soc/codecs/max98357a.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Lars-Peter Clausen July 12, 2015, 10:33 a.m. UTC | #1
On 07/12/2015 08:56 AM, Anatol Pomozov wrote:
> Spec does not say anything about DAC called SDMode.
> Create a dapm path that consists of path from I2S input to Speaker output.
>
> Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
> ---
>   sound/soc/codecs/max98357a.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sound/soc/codecs/max98357a.c b/sound/soc/codecs/max98357a.c
> index 6d4246a..0d87d35 100644
> --- a/sound/soc/codecs/max98357a.c
> +++ b/sound/soc/codecs/max98357a.c
> @@ -51,12 +51,12 @@ static int max98357a_daiops_trigger(struct snd_pcm_substream *substream,
>   }
>
>   static const struct snd_soc_dapm_widget max98357a_dapm_widgets[] = {
> -	SND_SOC_DAPM_DAC("SDMode", NULL, SND_SOC_NOPM, 0, 0),
> +	SND_SOC_DAPM_AIF_IN("AIFRX", "HiFi Playback", 0, SND_SOC_NOPM, 0, 0),
>   	SND_SOC_DAPM_OUTPUT("Speaker"),
>   };
>
>   static const struct snd_soc_dapm_route max98357a_dapm_routes[] = {
> -	{"Speaker", NULL, "SDMode"},
> +	{"Speaker", NULL, "AIFRX"},

ASoC automatically creates a widget for the playback stream. You can connect 
that directly here without the need for the AIF_IN widget. E.g.:

	{ "Speaker", NULL, "HiFi Playback" },

>   };
>
>   static int max98357a_codec_probe(struct snd_soc_codec *codec)
>
Anatol Pomozov July 12, 2015, 3:15 p.m. UTC | #2
Hi

On Sun, Jul 12, 2015 at 3:33 AM, Lars-Peter Clausen <lars@metafoo.de> wrote:
> On 07/12/2015 08:56 AM, Anatol Pomozov wrote:
>>
>> Spec does not say anything about DAC called SDMode.
>> Create a dapm path that consists of path from I2S input to Speaker output.
>>
>> Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
>> ---
>>   sound/soc/codecs/max98357a.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/sound/soc/codecs/max98357a.c b/sound/soc/codecs/max98357a.c
>> index 6d4246a..0d87d35 100644
>> --- a/sound/soc/codecs/max98357a.c
>> +++ b/sound/soc/codecs/max98357a.c
>> @@ -51,12 +51,12 @@ static int max98357a_daiops_trigger(struct
>> snd_pcm_substream *substream,
>>   }
>>
>>   static const struct snd_soc_dapm_widget max98357a_dapm_widgets[] = {
>> -       SND_SOC_DAPM_DAC("SDMode", NULL, SND_SOC_NOPM, 0, 0),
>> +       SND_SOC_DAPM_AIF_IN("AIFRX", "HiFi Playback", 0, SND_SOC_NOPM, 0,
>> 0),
>>         SND_SOC_DAPM_OUTPUT("Speaker"),
>>   };
>>
>>   static const struct snd_soc_dapm_route max98357a_dapm_routes[] = {
>> -       {"Speaker", NULL, "SDMode"},
>> +       {"Speaker", NULL, "AIFRX"},
>
>
> ASoC automatically creates a widget for the playback stream. You can connect
> that directly here without the need for the AIF_IN widget. E.g.:
>
>         { "Speaker", NULL, "HiFi Playback" },

Thanks for the useful review. Tested it on my board and it works
great. Will resend updated changes soon.

>
>
>>   };
>>
>>   static int max98357a_codec_probe(struct snd_soc_codec *codec)
>>
>

Patch
diff mbox

diff --git a/sound/soc/codecs/max98357a.c b/sound/soc/codecs/max98357a.c
index 6d4246a..0d87d35 100644
--- a/sound/soc/codecs/max98357a.c
+++ b/sound/soc/codecs/max98357a.c
@@ -51,12 +51,12 @@  static int max98357a_daiops_trigger(struct snd_pcm_substream *substream,
 }
 
 static const struct snd_soc_dapm_widget max98357a_dapm_widgets[] = {
-	SND_SOC_DAPM_DAC("SDMode", NULL, SND_SOC_NOPM, 0, 0),
+	SND_SOC_DAPM_AIF_IN("AIFRX", "HiFi Playback", 0, SND_SOC_NOPM, 0, 0),
 	SND_SOC_DAPM_OUTPUT("Speaker"),
 };
 
 static const struct snd_soc_dapm_route max98357a_dapm_routes[] = {
-	{"Speaker", NULL, "SDMode"},
+	{"Speaker", NULL, "AIFRX"},
 };
 
 static int max98357a_codec_probe(struct snd_soc_codec *codec)