ALSA: hda/sigmatel: Convert to cdev-variant of mic-mute LED controls
authorTakashi Iwai <tiwai@suse.de>
Thu, 18 Jun 2020 11:08:34 +0000 (13:08 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 18 Jun 2020 11:23:10 +0000 (13:23 +0200)
This patch converts the remaining user of
snd_hda_gen_add_micmute_led() in IDT/Sigmatel codec driver into the
new snd_hda_gen_add_micmute_led_cdev().

Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Link: https://lore.kernel.org/r/20200618110842.27238-6-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_sigmatel.c

index a608d04..3b796d0 100644 (file)
@@ -320,15 +320,18 @@ static void stac_gpio_set(struct hda_codec *codec, unsigned int mask,
 }
 
 /* hook for controlling mic-mute LED GPIO */
-static void stac_capture_led_update(struct hda_codec *codec)
+static int stac_capture_led_update(struct led_classdev *led_cdev,
+                                  enum led_brightness brightness)
 {
+       struct hda_codec *codec = dev_to_hda_codec(led_cdev->dev->parent);
        struct sigmatel_spec *spec = codec->spec;
 
-       if (spec->gen.micmute_led.led_value)
+       if (brightness)
                spec->gpio_data |= spec->mic_mute_led_gpio;
        else
                spec->gpio_data &= ~spec->mic_mute_led_gpio;
        stac_gpio_set(codec, spec->gpio_mask, spec->gpio_dir, spec->gpio_data);
+       return 0;
 }
 
 static int stac_vrefout_set(struct hda_codec *codec,
@@ -4636,7 +4639,7 @@ static void stac_setup_gpio(struct hda_codec *codec)
                spec->gpio_dir |= spec->mic_mute_led_gpio;
                spec->mic_enabled = 0;
                spec->gpio_data |= spec->mic_mute_led_gpio;
-               snd_hda_gen_add_micmute_led(codec, stac_capture_led_update);
+               snd_hda_gen_add_micmute_led_cdev(codec, stac_capture_led_update);
        }
 }