[ALSA] Add missing TLV callbacks for HD-audio codecs
authorTakashi Iwai <tiwai@suse.de>
Thu, 17 Aug 2006 16:21:36 +0000 (18:21 +0200)
committerJaroslav Kysela <perex@suse.cz>
Sat, 23 Sep 2006 08:41:37 +0000 (10:41 +0200)
Added missing TLV callbacks for HD-audio codec supports.
Also cleaned up the tlv callback for ad1986a (no mutex is needed there).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/pci/hda/patch_analog.c
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_sigmatel.c

index 043256c67d1f68469f2f65fe4f7df11c08de9776..71abc2aa61a60f09f162f90282533facbd5f075b 100644 (file)
@@ -452,19 +452,6 @@ static int ad1986a_pcm_amp_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl
        return change;
 }
 
-static int ad1986a_pcm_amp_tlv(struct snd_kcontrol *kcontrol, int op_flag,
-                              unsigned int size, unsigned int __user *_tlv)
-{
-       struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
-       struct ad198x_spec *ad = codec->spec;
-
-       mutex_lock(&ad->amp_mutex);
-       snd_hda_mixer_amp_tlv(kcontrol, op_flag, size, _tlv);
-       mutex_unlock(&ad->amp_mutex);
-       return 0;
-}
-
-
 #define ad1986a_pcm_amp_sw_info                snd_hda_mixer_amp_switch_info
 
 static int ad1986a_pcm_amp_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
@@ -507,7 +494,7 @@ static struct snd_kcontrol_new ad1986a_mixers[] = {
                .info = ad1986a_pcm_amp_vol_info,
                .get = ad1986a_pcm_amp_vol_get,
                .put = ad1986a_pcm_amp_vol_put,
-               .tlv = { .c = ad1986a_pcm_amp_tlv },
+               .tlv = { .c = snd_hda_mixer_amp_tlv },
                .private_value = HDA_COMPOSE_AMP_VAL(AD1986A_FRONT_DAC, 3, 0, HDA_OUTPUT)
        },
        {
@@ -654,6 +641,7 @@ static struct snd_kcontrol_new ad1986a_laptop_eapd_mixers[] = {
                .info = snd_hda_mixer_amp_volume_info,
                .get = snd_hda_mixer_amp_volume_get,
                .put = ad1986a_laptop_master_vol_put,
+               .tlv = { .c = snd_hda_mixer_amp_tlv },
                .private_value = HDA_COMPOSE_AMP_VAL(0x1a, 3, 0, HDA_OUTPUT),
        },
        {
index f857e963ff45266803f7b6d23ac1f518c4aeb1a7..79d361260b2774349e4a07ff77d3cbf533742cd0 100644 (file)
@@ -5540,6 +5540,7 @@ static struct snd_kcontrol_new alc262_fujitsu_mixer[] = {
                .info = snd_hda_mixer_amp_volume_info,
                .get = snd_hda_mixer_amp_volume_get,
                .put = alc262_fujitsu_master_vol_put,
+               .tlv = { .c = snd_hda_mixer_amp_tlv },
                .private_value = HDA_COMPOSE_AMP_VAL(0x0c, 3, 0, HDA_OUTPUT),
        },
        {
index 7eaf755b014bac0c04bca93f6cdc8e8b93ee9e59..887b52e96ec43c30f910d724ab05b24c16023119 100644 (file)
@@ -1528,6 +1528,7 @@ static struct snd_kcontrol_new vaio_mixer[] = {
                .info = snd_hda_mixer_amp_volume_info,
                .get = snd_hda_mixer_amp_volume_get,
                .put = vaio_master_vol_put,
+               .tlv = { .c = snd_hda_mixer_amp_tlv },
                .private_value = HDA_COMPOSE_AMP_VAL(0x02, 3, 0, HDA_OUTPUT),
        },
        {