]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ALSA: hda/realtek: Clean up with snd_hda_codec_set_gpio()
authorTakashi Iwai <tiwai@suse.de>
Thu, 9 Apr 2026 09:38:16 +0000 (11:38 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 9 Apr 2026 10:05:54 +0000 (12:05 +0200)
Use a new helper function to clean up the code.

Along with it, make alc_write_gpio() static as well, which is used
only locally in realtek.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20260409093826.1317626-4-tiwai@suse.de
sound/hda/codecs/realtek/realtek.c
sound/hda/codecs/realtek/realtek.h

index 39a1ead3b743668640d25f514fd43a32c1de0c10..d9b2f1993eaf73c80dccd636c78f244e93042976 100644 (file)
@@ -123,22 +123,17 @@ void alc_update_gpio_data(struct hda_codec *codec, unsigned int mask,
 }
 EXPORT_SYMBOL_NS_GPL(alc_update_gpio_data, "SND_HDA_CODEC_REALTEK");
 
-void alc_write_gpio(struct hda_codec *codec)
+static void alc_write_gpio(struct hda_codec *codec)
 {
        struct alc_spec *spec = codec->spec;
 
        if (!spec->gpio_mask)
                return;
 
-       snd_hda_codec_write(codec, codec->core.afg, 0,
-                           AC_VERB_SET_GPIO_MASK, spec->gpio_mask);
-       snd_hda_codec_write(codec, codec->core.afg, 0,
-                           AC_VERB_SET_GPIO_DIRECTION, spec->gpio_dir);
-       if (spec->gpio_write_delay)
-               msleep(1);
-       alc_write_gpio_data(codec);
+       snd_hda_codec_set_gpio(codec, spec->gpio_mask, spec->gpio_dir,
+                              spec->gpio_data,
+                              spec->gpio_write_delay ? 1 : 0);
 }
-EXPORT_SYMBOL_NS_GPL(alc_write_gpio, "SND_HDA_CODEC_REALTEK");
 
 void alc_fixup_gpio(struct hda_codec *codec, int action, unsigned int mask)
 {
index b2a919904c4c27c3abb6ed31ea58eef3db46ce32..2ca15a6c2a0840601179a7e002887b186a697eaa 100644 (file)
@@ -171,7 +171,6 @@ void alc_setup_gpio(struct hda_codec *codec, unsigned int mask);
 void alc_write_gpio_data(struct hda_codec *codec);
 void alc_update_gpio_data(struct hda_codec *codec, unsigned int mask,
                          bool on);
-void alc_write_gpio(struct hda_codec *codec);
 
 /* common GPIO fixups */
 void alc_fixup_gpio(struct hda_codec *codec, int action, unsigned int mask);