summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-02-20 15:47:55 +0100
committerTakashi Iwai <tiwai@suse.de>2012-02-20 15:50:20 +0100
commit589876e243bb14343d09d9fd7f9ddf79f1d80158 (patch)
tree81d4ffe1cf9a1f13227fb2776a7da19227d02584
parentb9368f5c10b15f2b79a58666849827edc1f2f3d4 (diff)
downloadlinux-3.10-589876e243bb14343d09d9fd7f9ddf79f1d80158.tar.gz
linux-3.10-589876e243bb14343d09d9fd7f9ddf79f1d80158.tar.bz2
linux-3.10-589876e243bb14343d09d9fd7f9ddf79f1d80158.zip
ALSA: hda/realtek - Apply probe-fixup really after probing
Move the call of alc_apply_fixup() with ALC_FIXUP_ACT_PROBE after the whole setups of patch_ops & co, so that the fix-up function may override the default setup. This will be needed for installing the own unsol event handler (e.g. for volume-knob controls). Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_realtek.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index e6eec9a9ab4..895113ee385 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4566,8 +4566,6 @@ static int patch_alc880(struct hda_codec *codec)
set_beep_amp(spec, 0x0b, 0x05, HDA_INPUT);
}
- alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
-
codec->patch_ops = alc_patch_ops;
if (board_config == ALC_MODEL_AUTO)
spec->init_hook = alc_auto_init_std;
@@ -4578,6 +4576,8 @@ static int patch_alc880(struct hda_codec *codec)
spec->loopback.amplist = alc880_loopbacks;
#endif
+ alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
+
return 0;
error:
@@ -4749,8 +4749,6 @@ static int patch_alc260(struct hda_codec *codec)
set_beep_amp(spec, 0x07, 0x05, HDA_INPUT);
}
- alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
-
codec->patch_ops = alc_patch_ops;
spec->init_hook = alc_auto_init_std;
spec->shutup = alc_eapd_shutup;
@@ -4759,6 +4757,8 @@ static int patch_alc260(struct hda_codec *codec)
spec->loopback.amplist = alc260_loopbacks;
#endif
+ alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
+
return 0;
error:
@@ -5165,8 +5165,6 @@ static int patch_alc882(struct hda_codec *codec)
set_beep_amp(spec, 0x0b, 0x05, HDA_INPUT);
}
- alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
-
codec->patch_ops = alc_patch_ops;
if (board_config == ALC_MODEL_AUTO)
spec->init_hook = alc_auto_init_std;
@@ -5178,6 +5176,8 @@ static int patch_alc882(struct hda_codec *codec)
spec->loopback.amplist = alc882_loopbacks;
#endif
+ alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
+
return 0;
error:
@@ -5331,8 +5331,6 @@ static int patch_alc262(struct hda_codec *codec)
set_beep_amp(spec, 0x0b, 0x05, HDA_INPUT);
}
- alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
-
codec->patch_ops = alc_patch_ops;
spec->init_hook = alc_auto_init_std;
spec->shutup = alc_eapd_shutup;
@@ -5342,6 +5340,8 @@ static int patch_alc262(struct hda_codec *codec)
spec->loopback.amplist = alc262_loopbacks;
#endif
+ alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
+
return 0;
error:
@@ -5992,8 +5992,6 @@ static int patch_alc269(struct hda_codec *codec)
set_beep_amp(spec, 0x0b, 0x04, HDA_INPUT);
}
- alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
-
codec->patch_ops = alc_patch_ops;
#ifdef CONFIG_PM
codec->patch_ops.resume = alc269_resume;
@@ -6008,6 +6006,8 @@ static int patch_alc269(struct hda_codec *codec)
codec->patch_ops.check_power_status = alc269_mic2_mute_check_ps;
#endif
+ alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
+
return 0;
error:
@@ -6146,8 +6146,6 @@ static int patch_alc861(struct hda_codec *codec)
set_beep_amp(spec, 0x23, 0, HDA_OUTPUT);
}
- alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
-
codec->patch_ops = alc_patch_ops;
spec->init_hook = alc_auto_init_std;
#ifdef CONFIG_SND_HDA_POWER_SAVE
@@ -6156,6 +6154,8 @@ static int patch_alc861(struct hda_codec *codec)
spec->loopback.amplist = alc861_loopbacks;
#endif
+ alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
+
return 0;
error:
@@ -6270,8 +6270,6 @@ static int patch_alc861vd(struct hda_codec *codec)
set_beep_amp(spec, 0x0b, 0x05, HDA_INPUT);
}
- alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
-
codec->patch_ops = alc_patch_ops;
spec->init_hook = alc_auto_init_std;
@@ -6281,6 +6279,8 @@ static int patch_alc861vd(struct hda_codec *codec)
spec->loopback.amplist = alc861vd_loopbacks;
#endif
+ alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
+
return 0;
error:
@@ -6659,8 +6659,6 @@ static int patch_alc662(struct hda_codec *codec)
}
}
- alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
-
codec->patch_ops = alc_patch_ops;
spec->init_hook = alc_auto_init_std;
spec->shutup = alc_eapd_shutup;
@@ -6670,6 +6668,8 @@ static int patch_alc662(struct hda_codec *codec)
spec->loopback.amplist = alc662_loopbacks;
#endif
+ alc_apply_fixup(codec, ALC_FIXUP_ACT_PROBE);
+
return 0;
error: