[v3] ASoC: sgtl5000: add avc support
diff mbox

Message ID CAOMZO5Cp7keQSEcR+wV_Z6PTxYgr_xYxdcG_TDd+UUJne0R7xg@mail.gmail.com
State New
Headers show

Commit Message

Fabio Estevam July 20, 2017, 5:27 p.m. UTC
Hi Richard,

On Thu, Jul 20, 2017 at 2:25 PM, Richard Leitner <dev@g0hl1n.net> wrote:

> Does this occur only on reboot or everytime the driver tries to read the AVC
> threshold (avc_get_threshold)?
> Are you able to set the AVC threshold (using amixer)?

I am not even using the codec. I just run 'reboot' and the problem happens.

The following change fixes the 'reboot' issue for me. Could you please try it?

Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

Comments

Richard Leitner July 20, 2017, 5:38 p.m. UTC | #1
On 07/20/2017 07:27 PM, Fabio Estevam wrote:
> Hi Richard,
>
> On Thu, Jul 20, 2017 at 2:25 PM, Richard Leitner <dev@g0hl1n.net> wrote:
>
>> Does this occur only on reboot or everytime the driver tries to read the AVC
>> threshold (avc_get_threshold)?
>> Are you able to set the AVC threshold (using amixer)?
>
> I am not even using the codec. I just run 'reboot' and the problem happens.
>
> The following change fixes the 'reboot' issue for me. Could you please try it?
>
> --- a/sound/soc/codecs/sgtl5000.c
> +++ b/sound/soc/codecs/sgtl5000.c
> @@ -409,7 +409,7 @@ static int dac_put_volsw(struct snd_kcontrol *kcontrol,
>  static int avc_get_threshold(struct snd_kcontrol *kcontrol,
>                              struct snd_ctl_elem_value *ucontrol)
>  {
> -       struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
> +       struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);

Thank you for spotting this! That works of course.

I'm sorry, it seems I messed something up during copy/paste for my own 
backport version of this patch. Seems like I tested and sent a different 
version of the patch... That definitely shouldn't have happened :-(

Do you want to send that patch or should I?

Thank you again Fabio!

regards,
Richard.L
Fabio Estevam July 20, 2017, 5:40 p.m. UTC | #2
On Thu, Jul 20, 2017 at 2:38 PM, Richard Leitner <dev@g0hl1n.net> wrote:

> Thank you for spotting this! That works of course.
>
> I'm sorry, it seems I messed something up during copy/paste for my own
> backport version of this patch. Seems like I tested and sent a different
> version of the patch... That definitely shouldn't have happened :-(
>
> Do you want to send that patch or should I?

I have just sent the patch.
Richard Leitner July 20, 2017, 5:44 p.m. UTC | #3
On 07/20/2017 07:40 PM, Fabio Estevam wrote:
>> Do you want to send that patch or should I?
> I have just sent the patch.
>

Thanks!

Patch
diff mbox

--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -409,7 +409,7 @@  static int dac_put_volsw(struct snd_kcontrol *kcontrol,
 static int avc_get_threshold(struct snd_kcontrol *kcontrol,
                             struct snd_ctl_elem_value *ucontrol)
 {
-       struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
+       struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
        int db, i;
        u16 reg = snd_soc_read(codec, SGTL5000_DAP_AVC_THRESHOLD);

@@ -442,7 +442,7 @@  static int avc_get_threshold(struct snd_kcontrol *kcontrol,
 static int avc_put_threshold(struct snd_kcontrol *kcontrol,
                             struct snd_ctl_elem_value *ucontrol)
 {
-       struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
+       struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
        int db;
        u16 reg;
_______________________________________________