Commit fe1a1621 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: hda: generic: Drop the old mic-mute LED hook



Now all users of the old snd_hda_gen_add_micmute_led() have been
converted to the new LED-classdev variant, and we can make it local,
and remove the unused hda_gen_spec.micmute_led.update callback field.

Tested-by: default avatarKai-Heng Feng <kai.heng.feng@canonical.com>
Link: https://lore.kernel.org/r/20200618110842.27238-8-tiwai@suse.de


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 5fc0f693
Loading
Loading
Loading
Loading
+3 −19
Original line number Diff line number Diff line
@@ -3922,8 +3922,6 @@ static void call_micmute_led_update(struct hda_codec *codec)
	if (val == spec->micmute_led.led_value)
		return;
	spec->micmute_led.led_value = val;
	if (spec->micmute_led.update)
		spec->micmute_led.update(codec);
	ledtrig_audio_set(LED_AUDIO_MICMUTE,
			  spec->micmute_led.led_value ? LED_ON : LED_OFF);
}
@@ -3997,20 +3995,8 @@ static const struct snd_kcontrol_new micmute_led_mode_ctl = {
	.put = micmute_led_mode_put,
};

/**
 * snd_hda_gen_add_micmute_led - helper for setting up mic mute LED hook
 * @codec: the HDA codec
 * @hook: the callback for updating LED
 *
 * Called from the codec drivers for offering the mic mute LED controls.
 * When established, it sets up cap_sync_hook and triggers the callback at
 * each time when the capture mixer switch changes.  The callback is supposed
 * to update the LED accordingly.
 *
 * Returns 0 if the hook is established or a negative error code.
 */
int snd_hda_gen_add_micmute_led(struct hda_codec *codec,
				void (*hook)(struct hda_codec *))
/* Set up the capture sync hook for controlling the mic-mute LED */
static int add_micmute_led_hook(struct hda_codec *codec)
{
	struct hda_gen_spec *spec = codec->spec;

@@ -4018,13 +4004,11 @@ int snd_hda_gen_add_micmute_led(struct hda_codec *codec,
	spec->micmute_led.capture = 0;
	spec->micmute_led.led_value = 0;
	spec->micmute_led.old_hook = spec->cap_sync_hook;
	spec->micmute_led.update = hook;
	spec->cap_sync_hook = update_micmute_led;
	if (!snd_hda_gen_add_kctl(spec, NULL, &micmute_led_mode_ctl))
		return -ENOMEM;
	return 0;
}
EXPORT_SYMBOL_GPL(snd_hda_gen_add_micmute_led);

/**
 * snd_dha_gen_add_micmute_led_cdev - Create a LED classdev and enable as mic-mute LED
@@ -4065,7 +4049,7 @@ int snd_hda_gen_add_micmute_led_cdev(struct hda_codec *codec,
		}
	}

	return snd_hda_gen_add_micmute_led(codec, NULL);
	return add_micmute_led_hook(codec);
}
EXPORT_SYMBOL_GPL(snd_hda_gen_add_micmute_led_cdev);
#endif /* CONFIG_SND_HDA_GENERIC_LEDS */
+0 −3
Original line number Diff line number Diff line
@@ -88,7 +88,6 @@ struct hda_micmute_hook {
	unsigned int led_mode;
	unsigned int capture;
	unsigned int led_value;
	void (*update)(struct hda_codec *codec);
	void (*old_hook)(struct hda_codec *codec,
			 struct snd_kcontrol *kcontrol,
			 struct snd_ctl_elem_value *ucontrol);
@@ -355,8 +354,6 @@ unsigned int snd_hda_gen_path_power_filter(struct hda_codec *codec,
void snd_hda_gen_stream_pm(struct hda_codec *codec, hda_nid_t nid, bool on);
int snd_hda_gen_fix_pin_power(struct hda_codec *codec, hda_nid_t pin);

int snd_hda_gen_add_micmute_led(struct hda_codec *codec,
				void (*hook)(struct hda_codec *));
int snd_hda_gen_add_micmute_led_cdev(struct hda_codec *codec,
				     int (*callback)(struct led_classdev *,
						     enum led_brightness));