Merge remote-tracking branches 'asoc/topic/ts3a227e', 'asoc/topic/ts3a277e' and ...
[firefly-linux-kernel-4.4.55.git] / sound / soc / codecs / alc5623.c
index bdf8c5ac8ca460b8e07310674f90109cc6e6965a..0e357996864bd141f4d57283c03fba3b0e11b8d7 100644 (file)
@@ -55,18 +55,20 @@ static inline int alc5623_reset(struct snd_soc_codec *codec)
 static int amp_mixer_event(struct snd_soc_dapm_widget *w,
        struct snd_kcontrol *kcontrol, int event)
 {
+       struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
+
        /* to power-on/off class-d amp generators/speaker */
        /* need to write to 'index-46h' register :        */
        /* so write index num (here 0x46) to reg 0x6a     */
        /* and then 0xffff/0 to reg 0x6c                  */
-       snd_soc_write(w->codec, ALC5623_HID_CTRL_INDEX, 0x46);
+       snd_soc_write(codec, ALC5623_HID_CTRL_INDEX, 0x46);
 
        switch (event) {
        case SND_SOC_DAPM_PRE_PMU:
-               snd_soc_write(w->codec, ALC5623_HID_CTRL_DATA, 0xFFFF);
+               snd_soc_write(codec, ALC5623_HID_CTRL_DATA, 0xFFFF);
                break;
        case SND_SOC_DAPM_POST_PMD:
-               snd_soc_write(w->codec, ALC5623_HID_CTRL_DATA, 0);
+               snd_soc_write(codec, ALC5623_HID_CTRL_DATA, 0);
                break;
        }