summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2026-04-09 16:37:29 +0200
committerTakashi Iwai <tiwai@suse.de>2026-04-09 16:39:10 +0200
commit01f218d439acd5e129d214ea57e760ee2e34e869 (patch)
treebcb106aabf96128faf00ca07a67143ac1a4156b6
parent4f84e6caf38b05991b3b2afc0ddf4e48c2752d1d (diff)
ALSA: hda/alc269: Drop superfluous GPIO write at resume
alc269_resume() has an extra code to write GPIO data, but this is basically already done in the standard alc_init(), hence it's superfluous. Let's drop the code. Since all external callers of alc_write_gpio_data() are gone after this, fold the only usage of alc_write_gpio_data() into the caller and drop the export as well. Link: https://patch.msgid.link/20260409143735.1412134-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/hda/codecs/realtek/alc269.c7
-rw-r--r--sound/hda/codecs/realtek/realtek.c12
-rw-r--r--sound/hda/codecs/realtek/realtek.h1
3 files changed, 2 insertions, 18 deletions
diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c
index 9a799919e0c8..0a5eadec3ef6 100644
--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -1004,13 +1004,6 @@ static int alc269_resume(struct hda_codec *codec)
snd_hda_regmap_sync(codec);
hda_call_check_power_status(codec, 0x01);
- /* on some machine, the BIOS will clear the codec gpio data when enter
- * suspend, and won't restore the data after resume, so we restore it
- * in the driver.
- */
- if (spec->gpio_data)
- alc_write_gpio_data(codec);
-
if (spec->has_alc5505_dsp)
alc5505_dsp_resume(codec);
diff --git a/sound/hda/codecs/realtek/realtek.c b/sound/hda/codecs/realtek/realtek.c
index d9b2f1993eaf..db365a746b1a 100644
--- a/sound/hda/codecs/realtek/realtek.c
+++ b/sound/hda/codecs/realtek/realtek.c
@@ -99,15 +99,6 @@ void alc_setup_gpio(struct hda_codec *codec, unsigned int mask)
}
EXPORT_SYMBOL_NS_GPL(alc_setup_gpio, "SND_HDA_CODEC_REALTEK");
-void alc_write_gpio_data(struct hda_codec *codec)
-{
- struct alc_spec *spec = codec->spec;
-
- snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA,
- spec->gpio_data);
-}
-EXPORT_SYMBOL_NS_GPL(alc_write_gpio_data, "SND_HDA_CODEC_REALTEK");
-
void alc_update_gpio_data(struct hda_codec *codec, unsigned int mask,
bool on)
{
@@ -119,7 +110,8 @@ void alc_update_gpio_data(struct hda_codec *codec, unsigned int mask,
else
spec->gpio_data &= ~mask;
if (oldval != spec->gpio_data)
- alc_write_gpio_data(codec);
+ snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA,
+ spec->gpio_data);
}
EXPORT_SYMBOL_NS_GPL(alc_update_gpio_data, "SND_HDA_CODEC_REALTEK");
diff --git a/sound/hda/codecs/realtek/realtek.h b/sound/hda/codecs/realtek/realtek.h
index 2ca15a6c2a08..de95642bb648 100644
--- a/sound/hda/codecs/realtek/realtek.h
+++ b/sound/hda/codecs/realtek/realtek.h
@@ -168,7 +168,6 @@ void alc_process_coef_fw(struct hda_codec *codec, const struct coef_fw *fw);
* GPIO helpers
*/
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);