Commit fea4a4f9 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Add support of auto-parser to cxt5066 codecs

Still experimental.
Not enabled as default unless model=auto is passed.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent f9759301
...@@ -3040,6 +3040,7 @@ enum { ...@@ -3040,6 +3040,7 @@ enum {
CXT5066_THINKPAD, /* Lenovo ThinkPad T410s, others? */ CXT5066_THINKPAD, /* Lenovo ThinkPad T410s, others? */
CXT5066_ASUS, /* Asus K52JU, Lenovo G560 - Int mic at 0x1a and Ext mic at 0x1b */ CXT5066_ASUS, /* Asus K52JU, Lenovo G560 - Int mic at 0x1a and Ext mic at 0x1b */
CXT5066_HP_LAPTOP, /* HP Laptop */ CXT5066_HP_LAPTOP, /* HP Laptop */
CXT5066_AUTO, /* BIOS auto-parser */
CXT5066_MODELS CXT5066_MODELS
}; };
...@@ -3052,6 +3053,7 @@ static const char * const cxt5066_models[CXT5066_MODELS] = { ...@@ -3052,6 +3053,7 @@ static const char * const cxt5066_models[CXT5066_MODELS] = {
[CXT5066_THINKPAD] = "thinkpad", [CXT5066_THINKPAD] = "thinkpad",
[CXT5066_ASUS] = "asus", [CXT5066_ASUS] = "asus",
[CXT5066_HP_LAPTOP] = "hp-laptop", [CXT5066_HP_LAPTOP] = "hp-laptop",
[CXT5066_AUTO] = "auto",
}; };
static const struct snd_pci_quirk cxt5066_cfg_tbl[] = { static const struct snd_pci_quirk cxt5066_cfg_tbl[] = {
...@@ -3089,6 +3091,15 @@ static int patch_cxt5066(struct hda_codec *codec) ...@@ -3089,6 +3091,15 @@ static int patch_cxt5066(struct hda_codec *codec)
struct conexant_spec *spec; struct conexant_spec *spec;
int board_config; int board_config;
board_config = snd_hda_check_board_config(codec, CXT5066_MODELS,
cxt5066_models, cxt5066_cfg_tbl);
#if 0 /* use the old method just for safety */
if (board_config < 0)
board_config = CXT5066_AUTO;
#endif
if (board_config == CXT5066_AUTO)
return patch_conexant_auto(codec);
spec = kzalloc(sizeof(*spec), GFP_KERNEL); spec = kzalloc(sizeof(*spec), GFP_KERNEL);
if (!spec) if (!spec)
return -ENOMEM; return -ENOMEM;
...@@ -3119,8 +3130,6 @@ static int patch_cxt5066(struct hda_codec *codec) ...@@ -3119,8 +3130,6 @@ static int patch_cxt5066(struct hda_codec *codec)
set_beep_amp(spec, 0x13, 0, HDA_OUTPUT); set_beep_amp(spec, 0x13, 0, HDA_OUTPUT);
board_config = snd_hda_check_board_config(codec, CXT5066_MODELS,
cxt5066_models, cxt5066_cfg_tbl);
switch (board_config) { switch (board_config) {
default: default:
case CXT5066_LAPTOP: case CXT5066_LAPTOP:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment