// SPDX-License-Identifier: GPL-2.0-or-later // // Realtek ALC680 codec // #include #include #include "realtek.h" static int alc680_parse_auto_config(struct hda_codec *codec) { return alc_parse_auto_config(codec, NULL, NULL); } /* */ static int alc680_probe(struct hda_codec *codec, const struct hda_device_id *id) { int err; /* ALC680 has no aa-loopback mixer */ err = alc_alloc_spec(codec, 0); if (err < 0) return err; /* automatic parse from the BIOS config */ err = alc680_parse_auto_config(codec); if (err < 0) { snd_hda_gen_remove(codec); return err; } return 0; } static const struct hda_codec_ops alc680_codec_ops = { .probe = alc680_probe, .remove = snd_hda_gen_remove, .build_controls = alc_build_controls, .build_pcms = snd_hda_gen_build_pcms, .init = alc_init, .unsol_event = snd_hda_jack_unsol_event, .resume = alc_resume, .suspend = alc_suspend, .check_power_status = snd_hda_gen_check_power_status, .stream_pm = snd_hda_gen_stream_pm, }; /* * driver entries */ static const struct hda_device_id snd_hda_id_alc680[] = { HDA_CODEC_ID(0x10ec0680, "ALC680"), {} /* terminator */ }; MODULE_DEVICE_TABLE(hdaudio, snd_hda_id_alc680); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Realtek ALC680 HD-audio codec"); MODULE_IMPORT_NS("SND_HDA_CODEC_REALTEK"); static struct hda_codec_driver alc680_driver = { .id = snd_hda_id_alc680, .ops = &alc680_codec_ops, }; module_hda_codec_driver(alc680_driver);