From 657e1b931d42882cb0a59b599247bef696c22406 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 22 Jan 2013 18:42:39 +0100 Subject: [PATCH] ALSA: hda - Select auto-parser as default for AD codecs Now all AD codecs have the proper BIOS auto-parser, and we can make it for default, finally. (AD1988 already did it because it had the auto-parser.) Signed-off-by: Takashi Iwai --- sound/pci/hda/patch_analog.c | 44 +++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index 9692265eef33..9d82aab1e512 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c @@ -1274,6 +1274,12 @@ static int patch_ad1986a(struct hda_codec *codec) board_config = snd_hda_check_board_config(codec, AD1986A_MODELS, ad1986a_models, ad1986a_cfg_tbl); + if (board_config < 0) { + printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", + codec->chip_name); + board_config = AD1986A_AUTO; + } + if (board_config == AD1986A_AUTO) return ad1986a_parse_auto_config(codec); @@ -1691,6 +1697,12 @@ static int patch_ad1983(struct hda_codec *codec) board_config = snd_hda_check_board_config(codec, AD1983_MODELS, ad1983_models, NULL); + if (board_config < 0) { + printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", + codec->chip_name); + board_config = AD1983_AUTO; + } + if (board_config == AD1983_AUTO) return ad1983_parse_auto_config(codec); @@ -2206,6 +2218,12 @@ static int patch_ad1981(struct hda_codec *codec) board_config = snd_hda_check_board_config(codec, AD1981_MODELS, ad1981_models, ad1981_cfg_tbl); + if (board_config < 0) { + printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", + codec->chip_name); + board_config = AD1981_AUTO; + } + if (board_config == AD1981_AUTO) return ad1981_parse_auto_config(codec); @@ -3710,6 +3728,12 @@ static int patch_ad1884(struct hda_codec *codec) board_config = snd_hda_check_board_config(codec, AD1884_MODELS, ad1884_models, NULL); + if (board_config < 0) { + printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", + codec->chip_name); + board_config = AD1884_AUTO; + } + if (board_config == AD1884_AUTO) return ad1884_parse_auto_config(codec); else @@ -3922,6 +3946,12 @@ static int patch_ad1984(struct hda_codec *codec) board_config = snd_hda_check_board_config(codec, AD1984_MODELS, ad1984_models, ad1984_cfg_tbl); + if (board_config < 0) { + printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", + codec->chip_name); + board_config = AD1984_AUTO; + } + if (board_config == AD1984_AUTO) return ad1884_parse_auto_config(codec); @@ -4693,7 +4723,13 @@ static int patch_ad1884a(struct hda_codec *codec) board_config = snd_hda_check_board_config(codec, AD1884A_MODELS, ad1884a_models, ad1884a_cfg_tbl); - if (board_config == AD1884_AUTO) + if (board_config < 0) { + printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", + codec->chip_name); + board_config = AD1884A_AUTO; + } + + if (board_config == AD1884A_AUTO) return ad1884_parse_auto_config(codec); err = alloc_ad_spec(codec); @@ -5140,6 +5176,12 @@ static int patch_ad1882(struct hda_codec *codec) board_config = snd_hda_check_board_config(codec, AD1882_MODELS, ad1882_models, NULL); + if (board_config < 0) { + printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", + codec->chip_name); + board_config = AD1882_AUTO; + } + if (board_config == AD1882_AUTO) return ad1882_parse_auto_config(codec); -- 2.30.2