|
@@ -695,16 +695,12 @@ static void cxt_fixup_gpio_mute_hook(void *private_data, int enabled)
|
|
|
}
|
|
|
|
|
|
/* turn on/off mic-mute LED via GPIO per capture hook */
|
|
|
-static void cxt_fixup_gpio_mic_mute_hook(struct hda_codec *codec,
|
|
|
- struct snd_kcontrol *kcontrol,
|
|
|
- struct snd_ctl_elem_value *ucontrol)
|
|
|
+static void cxt_gpio_micmute_update(struct hda_codec *codec)
|
|
|
{
|
|
|
struct conexant_spec *spec = codec->spec;
|
|
|
|
|
|
- if (ucontrol)
|
|
|
- cxt_update_gpio_led(codec, spec->gpio_mic_led_mask,
|
|
|
- ucontrol->value.integer.value[0] ||
|
|
|
- ucontrol->value.integer.value[1]);
|
|
|
+ cxt_update_gpio_led(codec, spec->gpio_mic_led_mask,
|
|
|
+ spec->gen.micmute_led.led_value);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -721,11 +717,11 @@ static void cxt_fixup_mute_led_gpio(struct hda_codec *codec,
|
|
|
|
|
|
if (action == HDA_FIXUP_ACT_PRE_PROBE) {
|
|
|
spec->gen.vmaster_mute.hook = cxt_fixup_gpio_mute_hook;
|
|
|
- spec->gen.cap_sync_hook = cxt_fixup_gpio_mic_mute_hook;
|
|
|
spec->gpio_led = 0;
|
|
|
spec->mute_led_polarity = 0;
|
|
|
spec->gpio_mute_led_mask = 0x01;
|
|
|
spec->gpio_mic_led_mask = 0x02;
|
|
|
+ snd_hda_gen_add_micmute_led(codec, cxt_gpio_micmute_update);
|
|
|
}
|
|
|
snd_hda_add_verbs(codec, gpio_init);
|
|
|
if (spec->gpio_led)
|