Commit e4770629 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Provide the standard auto_init for Realtek codecs

Remove redundant definitions.  Ideally, all init functions should be
identical in future.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent afcd5515
...@@ -3468,6 +3468,21 @@ static void set_capture_mixer(struct hda_codec *codec) ...@@ -3468,6 +3468,21 @@ static void set_capture_mixer(struct hda_codec *codec)
} }
} }
/*
* standard auto-parser initializations
*/
static void alc_auto_init_std(struct hda_codec *codec)
{
struct alc_spec *spec = codec->spec;
alc_auto_init_multi_out(codec);
alc_auto_init_extra_out(codec);
alc_auto_init_analog_input(codec);
alc_auto_init_input_src(codec);
alc_auto_init_digital(codec);
if (spec->unsol_event)
alc_inithook(codec);
}
/* /*
* Digital-beep handlers * Digital-beep handlers
*/ */
...@@ -3549,19 +3564,6 @@ static int alc880_parse_auto_config(struct hda_codec *codec) ...@@ -3549,19 +3564,6 @@ static int alc880_parse_auto_config(struct hda_codec *codec)
return 1; return 1;
} }
/* additional initialization for auto-configuration model */
static void alc880_auto_init(struct hda_codec *codec)
{
struct alc_spec *spec = codec->spec;
alc_auto_init_multi_out(codec);
alc_auto_init_extra_out(codec);
alc_auto_init_analog_input(codec);
alc_auto_init_input_src(codec);
alc_auto_init_digital(codec);
if (spec->unsol_event)
alc_inithook(codec);
}
#ifdef CONFIG_SND_HDA_POWER_SAVE #ifdef CONFIG_SND_HDA_POWER_SAVE
static const struct hda_amp_list alc880_loopbacks[] = { static const struct hda_amp_list alc880_loopbacks[] = {
{ 0x0b, HDA_INPUT, 0 }, { 0x0b, HDA_INPUT, 0 },
...@@ -3655,7 +3657,7 @@ static int patch_alc880(struct hda_codec *codec) ...@@ -3655,7 +3657,7 @@ static int patch_alc880(struct hda_codec *codec)
codec->patch_ops = alc_patch_ops; codec->patch_ops = alc_patch_ops;
if (board_config == ALC_MODEL_AUTO) if (board_config == ALC_MODEL_AUTO)
spec->init_hook = alc880_auto_init; spec->init_hook = alc_auto_init_std;
#ifdef CONFIG_SND_HDA_POWER_SAVE #ifdef CONFIG_SND_HDA_POWER_SAVE
if (!spec->loopback.amplist) if (!spec->loopback.amplist)
spec->loopback.amplist = alc880_loopbacks; spec->loopback.amplist = alc880_loopbacks;
...@@ -4075,19 +4077,6 @@ static int alc882_parse_auto_config(struct hda_codec *codec) ...@@ -4075,19 +4077,6 @@ static int alc882_parse_auto_config(struct hda_codec *codec)
return 1; /* config found */ return 1; /* config found */
} }
/* additional initialization for auto-configuration model */
static void alc882_auto_init(struct hda_codec *codec)
{
struct alc_spec *spec = codec->spec;
alc_auto_init_multi_out(codec);
alc_auto_init_extra_out(codec);
alc_auto_init_analog_input(codec);
alc_auto_init_input_src(codec);
alc_auto_init_digital(codec);
if (spec->unsol_event)
alc_inithook(codec);
}
/* /*
*/ */
#ifdef CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS #ifdef CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS
...@@ -4182,7 +4171,7 @@ static int patch_alc882(struct hda_codec *codec) ...@@ -4182,7 +4171,7 @@ static int patch_alc882(struct hda_codec *codec)
codec->patch_ops = alc_patch_ops; codec->patch_ops = alc_patch_ops;
if (board_config == ALC_MODEL_AUTO) if (board_config == ALC_MODEL_AUTO)
spec->init_hook = alc882_auto_init; spec->init_hook = alc_auto_init_std;
alc_init_jacks(codec); alc_init_jacks(codec);
#ifdef CONFIG_SND_HDA_POWER_SAVE #ifdef CONFIG_SND_HDA_POWER_SAVE
...@@ -4393,19 +4382,6 @@ static const struct snd_pci_quirk alc262_fixup_tbl[] = { ...@@ -4393,19 +4382,6 @@ static const struct snd_pci_quirk alc262_fixup_tbl[] = {
#define alc262_loopbacks alc880_loopbacks #define alc262_loopbacks alc880_loopbacks
#endif #endif
/* init callback for auto-configuration model -- overriding the default init */
static void alc262_auto_init(struct hda_codec *codec)
{
struct alc_spec *spec = codec->spec;
alc_auto_init_multi_out(codec);
alc_auto_init_extra_out(codec);
alc_auto_init_analog_input(codec);
alc_auto_init_input_src(codec);
alc_auto_init_digital(codec);
if (spec->unsol_event)
alc_inithook(codec);
}
/* /*
*/ */
#ifdef CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS #ifdef CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS
...@@ -4500,7 +4476,7 @@ static int patch_alc262(struct hda_codec *codec) ...@@ -4500,7 +4476,7 @@ static int patch_alc262(struct hda_codec *codec)
codec->patch_ops = alc_patch_ops; codec->patch_ops = alc_patch_ops;
if (board_config == ALC_MODEL_AUTO) if (board_config == ALC_MODEL_AUTO)
spec->init_hook = alc262_auto_init; spec->init_hook = alc_auto_init_std;
spec->shutup = alc_eapd_shutup; spec->shutup = alc_eapd_shutup;
alc_init_jacks(codec); alc_init_jacks(codec);
...@@ -5924,19 +5900,6 @@ static int alc861vd_parse_auto_config(struct hda_codec *codec) ...@@ -5924,19 +5900,6 @@ static int alc861vd_parse_auto_config(struct hda_codec *codec)
return 1; return 1;
} }
/* additional initialization for auto-configuration model */
static void alc861vd_auto_init(struct hda_codec *codec)
{
struct alc_spec *spec = codec->spec;
alc_auto_init_multi_out(codec);
alc_auto_init_extra_out(codec);
alc_auto_init_analog_input(codec);
alc_auto_init_input_src(codec);
alc_auto_init_digital(codec);
if (spec->unsol_event)
alc_inithook(codec);
}
enum { enum {
ALC660VD_FIX_ASUS_GPIO1 ALC660VD_FIX_ASUS_GPIO1
}; };
...@@ -6045,7 +6008,7 @@ static int patch_alc861vd(struct hda_codec *codec) ...@@ -6045,7 +6008,7 @@ static int patch_alc861vd(struct hda_codec *codec)
codec->patch_ops = alc_patch_ops; codec->patch_ops = alc_patch_ops;
if (board_config == ALC_MODEL_AUTO) if (board_config == ALC_MODEL_AUTO)
spec->init_hook = alc861vd_auto_init; spec->init_hook = alc_auto_init_std;
spec->shutup = alc_eapd_shutup; spec->shutup = alc_eapd_shutup;
#ifdef CONFIG_SND_HDA_POWER_SAVE #ifdef CONFIG_SND_HDA_POWER_SAVE
if (!spec->loopback.amplist) if (!spec->loopback.amplist)
...@@ -6134,19 +6097,6 @@ static int alc662_parse_auto_config(struct hda_codec *codec) ...@@ -6134,19 +6097,6 @@ static int alc662_parse_auto_config(struct hda_codec *codec)
return 1; return 1;
} }
/* additional initialization for auto-configuration model */
static void alc662_auto_init(struct hda_codec *codec)
{
struct alc_spec *spec = codec->spec;
alc_auto_init_multi_out(codec);
alc_auto_init_extra_out(codec);
alc_auto_init_analog_input(codec);
alc_auto_init_input_src(codec);
alc_auto_init_digital(codec);
if (spec->unsol_event)
alc_inithook(codec);
}
static void alc272_fixup_mario(struct hda_codec *codec, static void alc272_fixup_mario(struct hda_codec *codec,
const struct alc_fixup *fix, int action) const struct alc_fixup *fix, int action)
{ {
...@@ -6332,7 +6282,7 @@ static int patch_alc662(struct hda_codec *codec) ...@@ -6332,7 +6282,7 @@ static int patch_alc662(struct hda_codec *codec)
codec->patch_ops = alc_patch_ops; codec->patch_ops = alc_patch_ops;
if (board_config == ALC_MODEL_AUTO) if (board_config == ALC_MODEL_AUTO)
spec->init_hook = alc662_auto_init; spec->init_hook = alc_auto_init_std;
spec->shutup = alc_eapd_shutup; spec->shutup = alc_eapd_shutup;
alc_init_jacks(codec); alc_init_jacks(codec);
...@@ -6434,19 +6384,6 @@ static int alc680_parse_auto_config(struct hda_codec *codec) ...@@ -6434,19 +6384,6 @@ static int alc680_parse_auto_config(struct hda_codec *codec)
return 1; return 1;
} }
/* init callback for auto-configuration model -- overriding the default init */
static void alc680_auto_init(struct hda_codec *codec)
{
struct alc_spec *spec = codec->spec;
alc_auto_init_multi_out(codec);
alc_auto_init_extra_out(codec);
alc_auto_init_analog_input(codec);
alc_auto_init_input_src(codec);
alc_auto_init_digital(codec);
if (spec->unsol_event)
alc_inithook(codec);
}
/* /*
*/ */
#ifdef CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS #ifdef CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS
...@@ -6513,7 +6450,7 @@ static int patch_alc680(struct hda_codec *codec) ...@@ -6513,7 +6450,7 @@ static int patch_alc680(struct hda_codec *codec)
codec->patch_ops = alc_patch_ops; codec->patch_ops = alc_patch_ops;
if (board_config == ALC_MODEL_AUTO) if (board_config == ALC_MODEL_AUTO)
spec->init_hook = alc680_auto_init; spec->init_hook = alc_auto_init_std;
return 0; return 0;
} }
......
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